Go-Ethereum

如何在沒有 ABI 的情況下查看 Transaction 的 InputData?

  • December 15, 2017

我在 RinkeBy 有一份契約(0x4ab57f1bfacfa668640ee7f464ae73af28810fb3 https://rinkeby.etherscan.io/address/0x4ab57f1bfacfa668640ee7f464ae73af28810fb3),來源:pragma solidity ^0.4.18;

contract TRRT {
   string private a="AAAAB3NzaC1yc2EAAAADAQABAAABAQDyAAB/ABtTlMBttlaKKQhjay2Cs5y79qWHpaJNYzS6oVQTN134a2JexiG5CumdETASFrQ8gZAeHxNyKz1qcLOxjonS5PJIBDpTkxE3yQm0gu9TBMFdA7Ni48l2QG1B5tO3D8mpxBWNDNXUE9ZpLzW3albmnW5+R4euWpsfpL1mRwNtrLJqGrE7vdGM8G79AscVjMkjHOfJV7AEp0rZ6Aq6vilY0lVLW+dJfbU5DNKvIM9s32nax8iDJBx3ld3YUsBJX7VL2T2xcp3DmrdctF3jYXvcYbyrwPFv1LJ3lf71Jx32Z+xprgkIliaORfZv48rXR/k2BfJJ6+f4Iim3L9X1";
   function ShowKey()public constant returns (string) {
       return a;
   }
}

如何在沒有 ABI 的情況下從另一個帳戶獲取輸入數據,我的函式結果?(我知道,我可以在 rinkeby.etherscan.io 上複製它,但我想用 geth/web3 或類似方式獲取它。

其實我也不需要智能合約,我只需要發布數據,包含在“a”中,mb你會幫助我避免過多的痔瘡。

泰。

我不清楚你為什麼說“沒有 ABI?” ABI 描述了您的智能合約上可用的功能。

如果您可以使用最小的 ABI,這將成功地從您的智能合約中檢索字元串:

web3.eth.contract([{constant:true,inputs:[],name:"ShowKey",outputs:[{type:"string"}],type:"function"}])
.at("0x4ab57f1bfacfa668640ee7f464ae73af28810fb3")
.ShowKey((err, result) => {console.log(result);});

也就是說,我不完全確定這裡的目的是什麼,所以也許我誤解了你的問題。如果這沒有幫助,請澄清問題。

引用自:https://ethereum.stackexchange.com/questions/33437