def call_contract(contract_interface): # contract = w3.eth.contract(contract_interface['abi'], bytecode=contract_interface['bin']) contract_address = eosapi.eos_name_to_eth_address('evm') # Contract instance in concise mode contract_instance = w3.eth.contract(contract_address, abi=contract_interface['abi'], bytecode=contract_interface['bin'], ContractFactoryClass=ConciseContract) # r = contract_instance.getValue(transact={'from': address}) # r = contract_instance.getValue(call={'from': address}) if 0: r = contract_instance.getValue(transact={'from': contract_address}) print('++++++++++getValue:', r) address = eosapi.eos_name_to_eth_address('evm') r = contract_instance.setValue(119000, transact={'from': contract_address}) print('++++++++++++setValue:', r) # r = contract_instance.getValue(transact={'from': address}) # r = contract_instance.getValue(call={'from': address}) if 0: r = contract_instance.getValue(transact={'from': contract_address}) print('++++++++++getValue:', r)
def kitties_test(contract_interface): contract = w3.eth.contract(contract_interface['abi'], bytecode=contract_interface['bin']) contract_address = eosapi.eos_name_to_eth_address('evm') # Contract instance in concise mode contract_instance = w3.eth.contract(contract_interface['abi'], contract_address, ContractFactoryClass=ConciseContract) with producer: # r = contract_instance.getValue(transact={'from': address}) # r = contract_instance.getValue(call={'from': address}) r = contract_instance.getValue(transact={'from': contract_address}) print('++++++++++getValue:', r) with producer: address = eosapi.eos_name_to_eth_address('evm') r = contract_instance.setValue(119000, transact={'from': contract_address}) print('++++++++++++setValue:', r) with producer: # r = contract_instance.getValue(transact={'from': address}) # r = contract_instance.getValue(call={'from': address}) r = contract_instance.getValue(transact={'from': contract_address}) print('++++++++++getValue:', r)
def deploy(contract_interface): contract = w3.eth.contract(contract_interface['abi'], bytecode=contract_interface['bin']) # print(contract_interface['bin']) json.dumps(contract_interface['abi'], sort_keys=False, indent=4, separators=(',', ': ')) address = eosapi.eos_name_to_eth_address('evm') tx_hash = contract.deploy(transaction={'from': address, 'gas': 2000001350}) print('tx_hash:', tx_hash) print('=========================deploy end======================')