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!")
示例#2
0
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]]:
示例#3
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"
示例#4
0
文件: test.py 项目: balakrishnan2/b
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
示例#5
0
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
示例#6
0
# 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)