Esempio n. 1
0
        //    keys = []
        //    rpc = None
        //    masterpassword = None

        //    # Keys from database
        //    configStorage = None
        //    MasterPassword = None
        //    keyStorage = None

        //    # Manually provided keys
        //    keys = { }  # struct with pubkey as key and wif as value
        //    keyMap = {}  # type:wif pairs to force certain keys

        /// <summary>
        ///
        /// </summary>
        /// <param name="rpc">SteemNodeRPC rpc: RPC connection to a Steem node</param>
        /// <param name="args">Predefine the wif keys to shortcut the wallet database</param>
        /// <param name="kwargs">Predefine the wif keys to shortcut the wallet database</param>
        public Wallet(SteemNodeRPC rpc, object[] args, Dictionary <string, object> kwargs)//    def __init__(self, rpc, * args, ** kwargs):
        {
            //        from.storage import configStorage
            //       self.configStorage = configStorage

            //# RPC
            //        Wallet.rpc = rpc

            //        # Prefix?
            //        if Wallet.rpc:

            //           self.prefix = Wallet.rpc.chain_params["prefix"]
            //        else:
            //            # If not connected, load prefix from config
            //            self.prefix = self.configStorage["prefix"]

            //        # Compatibility after name change from wif->keys
            //        if "wif" in kwargs and "keys" not in kwargs:

            //           kwargs["keys"] = kwargs["wif"]

            //        if "keys" in kwargs:

            //           self.setKeys(kwargs["keys"])
            //        else:
            //            """ If no keys are provided manually we load the SQLite
            //                keyStorage
            //            """
            //            from.storage import(keyStorage,
            //                                  MasterPassword)
            //            self.MasterPassword = MasterPassword
            //            self.keyStorage = keyStorage
        }
Esempio n. 2
0
        //class Signed_Transaction(GrapheneSigned_Transaction):
        //    """ Overwrite default chain:
        //    """
        //    def __init__(self, * args, ** kwargs):
        //        super(Signed_Transaction, self).__init__(*args, ** kwargs)

        //    def sign(self, wifkeys, chain= chain):
        //        return super(Signed_Transaction, self).sign(wifkeys, chain)

        //    def verify(self, pubkey, chain= chain):
        //        return super(Signed_Transaction, self).verify(pubkey, chain)


        /// <summary>
        /// Auxiliary method to obtain ``ref_block_num`` and
        /// ``ref_block_prefix``. Requires a websocket connection to a
        /// witness node!
        /// </summary>
        /// <param name="rpc"></param>
        /// <returns></returns>
        public string[] getBlockParams(SteemNodeRPC rpc) //def getBlockParams(ws):
        {
            //    dynBCParams = ws.get_dynamic_global_properties()
            //    ref_block_num = dynBCParams["head_block_number"] & 0xFFFF
            //    ref_block_prefix = struct.unpack_from("<I", unhexlify(dynBCParams["head_block_id"]), 4)[0]
            //    return ref_block_num, ref_block_prefix

            var dynBCParams      = rpc.get_dynamic_global_properties();
            var ref_block_num    = dynBCParams["head_block_number"]; // & 0xFFFF;
            var ref_block_prefix = "2066969480";                     //struct.unpack_from("<I", unhexlify(dynBCParams["head_block_id"]), 4)[0];

            return(new[] { ref_block_num, ref_block_prefix });

            // (Pdb)p dynBCParams['head_block_number']
            //10510027
            //(Pdb) n
            //> / home / pmartynov /.virtualenvs / steemstagram / lib / python3.5 / site - packages / steembase / transactions.py(55)getBlockParams()
            //                  ->ref_block_prefix = struct.unpack_from("<I", unhexlify(dynBCParams["head_block_id"]), 4)[0]
            //(Pdb) p dynBCParams['head_block_id']
            //'00a05ecb8873337bbe4eb08687197f232efd8a22'
            //(Pdb) p unhexlify(dynBCParams['head_block_id'])
            //b'\x00\xa0^\xcb\x88s3{\xbeN\xb0\x86\x87\x19\x7f#.\xfd\x8a"'
            //(Pdb) p struct.unpack_from("<I", unhexlify(dynBCParams["head_block_id"]), 4)
            //(2066969480,)
            //(Pdb) p struct.unpack_from("<I", unhexlify(dynBCParams["head_block_id"]), 4)[0]
            //2066969480
        }