def main(): # # create rpc interface # try: rpc = EthJsonRpc(RPC_HOST, RPC_PORT) except: print('unable to connect to rpc server at {}:{}'.format( RPC_HOST, RPC_PORT)) sys.exit(-1) method = sys.argv[1] if method == "newContract": owner = sys.argv[2] partner = sys.argv[3] text = sys.argv[4] tx = rpc.call_with_transaction(owner, CONTRACT_STORAGE_ADDRESS, 'createNewContract(string,string)', [partner, text], gas=GAS) print(format(tx)) elif method == "contractData": trans_addr = sys.argv[2] trans = rpc.eth_getTransactionByHash(trans_addr) res = Decoder.decodeABI(trans['input'], 'createNewContract(string,string)', ['string', 'string']) print(res) elif method == "newUser": address = sys.argv[2] dataString = sys.argv[3] tx = rpc.call_with_transaction(address, USER_STORAGE_ADDRESS, 'setUserIdentityDocs(string)', [dataString], gas=GAS) elif method == "identification": account_addr = sys.argv[2] transactionHashes, identityDocuments = rpc.call( USER_STORAGE_ADDRESS, 'getUser(address)', [account_addr], ['string', 'string']) print(identityDocuments) elif method == "accounts": account_id = sys.argv[2] print(rpc.eth_accounts()[int(account_id)]) else: print("method not recognized!")
print(c.db_putHex(db_name, k, v)) x = c.db_getHex(db_name, k) print(x) assert v == x ################################################################################ print('*' * 80) b = (199583, '0x19d761c6f944eefe91ad70b9aff3d2d76c972e5bb68c443eea7c0eaa144cef9f') print(c.eth_getBlockByHash(b[1], tx_objects=False)) for x in ['earliest', 'latest', 'pending', b[0]]: print(c.eth_getBlockByNumber(x, tx_objects=False)) tx = '0x12cd5d9a82049154c8990214a551479853d1bfe45852688833bc4ef86a29b1a3' print(c.eth_getTransactionByHash(tx)) ################################################################################ print('*' * 80) code = 'contract Test {}' print(c.eth_compileSolidity(code)) ################################################################################ print('*' * 80) b = (246236, '0xcd43703a1ead33ffa1f317636c7b67453c5cc03a3350cd71dbbdd70fcbe0987a') index = 2 print(c.eth_getTransactionByBlockHashAndIndex(b[1], index)) for x in ['earliest', 'latest', 'pending', b[0]]:
def main(): # # create rpc interface # try: rpc = EthJsonRpc(RPC_HOST, RPC_PORT) except: print('unable to connect to rpc server at {}:{}'.format( RPC_HOST, RPC_PORT)) sys.exit(-1) if sys.argv[1] == "contracts": transactionHashes, identityDocuments = rpc.call( USER_STORAGE_ADDRESS, 'getUser(address)', [0x866d9f0b315afa2dcf31be291882ae9a1965f86a], ['string', 'string']) print(transactionHashes) elif sys.argv[1] == "newContract": owner = sys.argv[2] partner = sys.argv[3] text = sys.argv[4] tx = rpc.call_with_transaction(owner, CONTRACT_STORAGE_ADDRESS, 'createNewContract(string,string)', [partner, text], gas=GAS) print('done, transaction id: {}'.format(tx)) transHash = format(tx) trans = rpc.eth_getTransactionByHash(transHash) res = Decoder.decodeABI(trans['input'], 'createNewContract(string,string)', ['string', 'string']) print(res) transHashes = transHash #rpc.call(USER_STORAGE_ADDRESS, 'getUserTransactions(address)', [owner], ['string']) #transHashes += "," + transHash; tx = rpc.call_with_transaction(owner, USER_STORAGE_ADDRESS, 'setUserTransactions(string)', [transHashes], gas=GAS) trans = rpc.eth_getTransactionByHash(format(tx)) res = Decoder.decodeABI(trans['input'], 'setUserTransactions(string)', ['string']) print(res) transHashes = transHash #rpc.call(USER_STORAGE_ADDRESS, 'getUserTransactions(address)', [partner], ['string']) #transHashes += "," + transHash; tx = rpc.call_with_transaction(partner, USER_STORAGE_ADDRESS, 'setUserTransactions(string)', [transHashes], gas=GAS) print('done, transaction id: {}'.format(tx)) trans = rpc.eth_getTransactionByHash(format(tx)) res = Decoder.decodeABI(trans['input'], 'setUserTransactions(string)', ['string']) print(res) owner = "0x866d9f0b315afa2dcf31be291882ae9a1965f86a" partner = "0x115908c9272fc6b915286de90e25a24862d69988"
x = c.db_getHex(db_name, k) print x assert v == x ################################################################################ print '*' * 80 b = (199583, '0x19d761c6f944eefe91ad70b9aff3d2d76c972e5bb68c443eea7c0eaa144cef9f') print c.eth_getBlockByHash(b[1], tx_objects=False) for x in ['earliest', 'latest', 'pending', b[0]]: print c.eth_getBlockByNumber(x, tx_objects=False) tx = '0x12cd5d9a82049154c8990214a551479853d1bfe45852688833bc4ef86a29b1a3' print c.eth_getTransactionByHash(tx) ################################################################################ print '*' * 80 code = 'contract Test {}' print c.eth_compileSolidity(code) #code = '' #print c.eth_compileSerpent(code) #code = '' #print c.eth_compileLLL(code) ################################################################################ print '*' * 80
print c.db_putHex(db_name, k, v) x = c.db_getHex(db_name, k) print x assert v == x ################################################################################ print '*' * 80 b = (199583, '0x19d761c6f944eefe91ad70b9aff3d2d76c972e5bb68c443eea7c0eaa144cef9f') print c.eth_getBlockByHash(b[1], tx_objects=False) for x in ['earliest', 'latest', 'pending', b[0]]: print c.eth_getBlockByNumber(x, tx_objects=False) tx = '0x12cd5d9a82049154c8990214a551479853d1bfe45852688833bc4ef86a29b1a3' print c.eth_getTransactionByHash(tx) ################################################################################ print '*' * 80 code = 'contract Test {}' print c.eth_compileSolidity(code) #code = '' #print c.eth_compileSerpent(code) #code = '' #print c.eth_compileLLL(code) ################################################################################ print '*' * 80
# x = geth_client.db_getHex(db_name, k) # print(x) # assert v == x ################################################################################ print('*' * 80) b = (199583, '0x19d761c6f944eefe91ad70b9aff3d2d76c972e5bb68c443eea7c0eaa144cef9f') print(geth_client.eth_getBlockByHash(b[1], tx_objects=False)) for x in ['earliest', 'latest', 'pending', b[0]]: print(geth_client.eth_getBlockByNumber(x, tx_objects=False)) tx = '0x12cd5d9a82049154c8990214a551479853d1bfe45852688833bc4ef86a29b1a3' print(geth_client.eth_getTransactionByHash(tx)) ################################################################################ print('*' * 80) code = 'contract Test {}' print(geth_client.eth_compileSolidity(code)) #code = '' #print(geth_client.eth_compileSerpent(code) #code = '' #print(geth_client.eth_compileLLL(code) ################################################################################ print('*' * 80)