Web3js

轉賬ERC20代幣(使用Web3js),是否需要實現web.eth.Contract?

  • July 31, 2018

我對乙太坊網路有點陌生。我以前曾經實現過 Stellar。我已經成功實現了我的 JavaScript 應用程序來傳輸 Eth。因此,我想擴展我的上述應用程序以在市場上接受/轉移 ERC20 代幣,仍然使用 web3js,我想知道

  1. 我是否必須為我的應用程序錢包實現 web3.eth.Contract 才能實現 ERC20 代幣兼容?
  2. 如果沒有,還有其他簡單的方法可以實現嗎?
  3. SOME_ERC20_FILE.json下面程式碼中顯示的文件是什麼(與 ABI 相關)?我在哪裡可以得到這個 JSON 文件的例子?
const fs = require('fs');
const parsedFile = JSON.parse(fs.readFileSync(SOME_ERC20_FILE.json));
const abi = parsedFile.abi;    
const myContract = new web3.eth.Contract(abi, 0x012345678912345678012345678012345678012);

先感謝您。

要使用 ERC20 代幣,您需要Contract為每個 ERC20 代幣對應的智能合約建構一個對象。然後,您可以使用對象的方法來執行以下操作myContract.methods.balanceOf(addr)

所有 ERC20 代幣必須(根據定義)遵循 ERC20 ABI,您可以在此處獲取。您的SOME_ERC20_FILE.json範例中的 只是一個包含 ABI 的文件。您可以從文件中讀取它,也可以直接對其進行硬編碼。

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