Example #1
0
 def parse(args, args_types):
     parsed_args = []
     for arg, arg_type in zip(args, args_types):
         if isinstance(arg, str) and len(arg) > 0 and arg[0] == '@':
             try:
                 contract_addr, begining_pos = arg[1:].split('.')
                 contract_addr, domain = \
                     eth_known_contract[contract_addr]['address'], eth_known_contract[contract_addr]['host']
                 authen_pos = HexBytes(SoliTypes[arg_type].ori_loc(begining_pos)).hex()
                 # print(authen_pos, contract_addr, domain)
                 parsed_args.append(JsonRPC.send(
                     JsonRPC.eth_get_storage_at(contract_addr, authen_pos, "latest"),
                     HTTP_HEADER,
                     domain
                 )['result'])
             except:
                 parsed_args.append("012")
         else:
             parsed_args.append(arg)
     return AbiEncoder.encodes(parsed_args, args_types)
Example #2
0
from uiputils.ethtools import JsonRPC

EDB_PATH = "D:/Go Ethereum/data/geth/chaindata"
url = "http://127.0.0.1:8545"
HTTP_HEADER = {'Content-Type': 'application/json'}
nsb_addr = "0x43710274DaADCe0D8bDFE7ae6495140eA83CDA6a"
# ("0x076122c56613fc1e3ae97d715ca7cb6a35a934c6")

nsb_abi_addr = "../nsb/nsb.abi"
nsb_bytecode_addr = "../nsb/nsb.bin"
nsb_db_addr = "../nsb/actiondata"
if __name__ == '__main__':
    print(
        JsonRPC.send(
            JsonRPC.eth_get_storage_at(
                "0x7c7b26fa65e091f7b9f23db77ad5f714f1dae5ea", "0x0", "latest"),
            HTTP_HEADER, 'http://127.0.0.1:8545')['result'])
    # web3h = ServiceStart.startweb3(url)
    # key = 0
    # nsbt = EthNetStatusBlockchain(url, nsb_addr, nsb_abi_addr, EDB_PATH, nsb_bytecode_addr)
    # nsb = nsbt.handle

    # print(JsonRPC.send(url, HTTP_HEADER, JsonRPC.ethGetProof(nsb_addr, ["0x0"], "latest"))
    #       ['result']['storageProof'][0]['value'])
    #
    # print(nsb.funcs())
    # idx:  0
    #     block_address A
    #     storageHash 0x933b2499f931cef309f61259914d250c69446f55dcd9a6e85cebf0aed214ef36
    #     key 0x0275b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9
    #     value 0x0100000000000000000000000000000000000000000000000000000000000000