I'm trying to understand Ethereum smart contract interaction at the base level using the JSON-RPC.
Say I want to update a contract programmatically. I create the contract, there is a public method that allows me to updateBestFriend. I compile and add it to the blockchain, I have the address where it now lives.
Awhile later, I want to interact with this contract. Do I need to save the ABI that whole time, or, using the contract address I still have (because I'm aware that it would be difficult or impossible to find it otherwise).
It seems to me like I should be able to call eth_getAbi(contract address), and then using that data to make the call. Or, even better, I just call the contract by address, and it would load the ABI for me, like:
contract = client.eth_getContract(contract address);
contract.updateBestFriend('Simon');
I'm reading this over and over, but I'm not understanding how it is supposed to work.
MyContract.then(function(instance){return JSON.stringify(instance.abi);})
– Jossie Calderon Jun 13 '17 at 8:57MyContract.then
works: to getMyContract
you already need the ABI. But please go ahead and post your answer so community can check.) Or would your answer fit at ethereum.stackexchange.com/questions/2508/…? Thanks – eth♦ Jun 23 '17 at 5:37