Go-Ethereum

發送令牌並檢查餘額

  • October 14, 2017

我想更好地了解如何檢查我的帳戶中有多少令牌以及如何將該令牌發送到另一個地址。

例如,假設我擁有一些 Melon (MLN),並想檢查我有多少。我一直在做如下:

var tokenContractABI =

$$ {“constant”:true,“inputs”:[],“name”:“name”,“outputs”:[{“name”:"",“type”:“string”}],“payable”:false,“type”:“function”},{“constant”:true,“inputs”:[],“name”:“minter”,“outputs”:[{“name”:"",“type”:“address”}],“payable”:false,“type”:“function”},{“constant”:false,“inputs”:[{“name”:"_spender",“type”:“address”},{“name”:"_value",“type”:“uint256”}],“name”:“approve”,“outputs”:[{“name”:“success”,“type”:“bool”}],“payable”:false,“type”:“function”},{“constant”:true,“inputs”:[],“name”:“totalSupply”,“outputs”:[{“name”:"",“type”:“uint256”}],“payable”:false,“type”:“function”},{“constant”:false,“inputs”:[{“name”:“newAddress”,“type”:“address”}],“name”:“changeMelonportAddress”,“outputs”:[],“payable”:false,“type”:“function”},{“constant”:false,“inputs”:[{“name”:“sender”,“type”:“address”},{“name”:“recipient”,“type”:“address”},{“name”:“amount”,“type”:“uint256”}],“name”:“transferFrom”,“outputs”:[{“name”:“success”,“type”:“bool”}],“payable”:false,“type”:“function”},{“constant”:true,“inputs”:[],“name”:“decimals”,“outputs”:[{“name”:"",“type”:“uint256”}],“payable”:false,“type”:“function”},{“constant”:true,“inputs”:[],“name”:“endTime”,“outputs”:[{“name”:"",“type”:“uint256”}],“payable”:false,“type”:“function”},{“constant”:true,“inputs”:[],“name”:“MAX_TOTAL_TOKEN_AMOUNT_OFFERED_TO_PUBLIC”,“outputs”:[{“name”:"",“type”:“uint256”}],“payable”:false,“type”:“function”},{“constant”:false,“inputs”:[{“name”:“newAddress”,“type”:“address”}],“name”:“changeMintingAddress”,“outputs”:[],“payable”:false,“type”:“function”},{“constant”:true,“inputs”:[{“name”:"_owner",“type”:“address”}],“name”:“lockedBalanceOf”,“outputs”:[{“name”:“balance”,“type”:“uint256”}],“payable”:false,“type”:“function”},{“constant”:true,“inputs”:[{“name”:"_owner",“type”:“address”}],“name”:“balanceOf”,“outputs”:[{“name”:“balance”,“type”:“uint256”}],“payable”:false,“type”:“function”},{“constant”:true,“inputs”:[],“name”:“startTime”,“outputs”:[{“name”:"",“type”:“uint256”}],“payable”:false,“type”:“function”},{“constant”:false,“inputs”:[{“name”:“recipient”,“type”:“address”},{“name”:“amount”,“type”:“uint256”}],“name”:“mintIcedToken”,“outputs”:[],“payable”:false,“type”:“function”},{“constant”:false,“inputs”:[{“name”:“recipient”,“type”:“address”},{“name”:“amount”,“type”:“uint256”}],“name”:“mintLiquidToken”,“outputs”:[],“payable”:false,“type”:“function”},{“constant”:true,“inputs”:[],“name”:“symbol”,“outputs”:[{“name”:"",“type”:“string”}],“payable”:false,“type”:“function”},{“constant”:true,“inputs”:[],“name”:“MAX_TOTAL_TOKEN_AMOUNT”,“outputs”:[{“name”:"",“type”:“uint256”}],“payable”:false,“type”:“function”},{“constant”:false,“inputs”:[{“name”:“recipient”,“type”:“address”},{“name”:“amount”,“type”:“uint256”}],“name”:“transfer”,“outputs”:[{“name”:“success”,“type”:“bool”}],“payable”:false,“type”:“function”},{“constant”:false,“inputs”:[{“name”:“recipient”,“type”:“address”}],“name”:“unlockBalance”,“outputs”:[],“payable”:false,“type”:“function”},{“constant”:true,“inputs”:[{“name”:"_owner",“type”:“address”},{“name”:"_spender",“type”:“address”}],“name”:“allowance”,“outputs”:[{“name”:“remaining”,“type”:“uint256”}],“payable”:false,“type”:“function”},{“constant”:true,“inputs”:[],“name”:“melonport”,“outputs”:[{“name”:"",“type”:“address”}],“payable”:false,“type”:“function”},{“constant”:true,“inputs”:[],“name”:“THAWING_DURATION”,“outputs”:[{“name”:"",“type”:“uint256”}],“payable”:false,“type”:“function”},{“inputs”:[{“name”:“setMinter”,“type”:“address”},{“name”:“setMelonport”,“type”:“address”},{“name”:“setStartTime”,“type”:“uint256”},{“name”:“setEndTime”,“type”:“uint256”}],“payable”:false,“type”:“constructor”},{“anonymous”:false,“inputs”:[{“indexed”:true,“name”:"_from",“type”:“address”},{“indexed”:true,“name”:"_to",“type”:“address”},{“indexed”:false,“name”:"_value",“type”:“uint256”}],“name”:“Transfer”,“type”:“event”},{“anonymous”:false,“inputs”:[{“indexed”:true,“name”:"_owner",“type”:“address”},{“indexed”:true,“name”:"_spender",“type”:“address”},{“indexed”:false,“name”:"_value",“type”:“uint256”}],“name”:“Approval”,“type”:“event”} $$// 瓜合約 ABI var tokenContract = eth.contract(tokenContractABI).at(“0xbeb9ef514a379b997e0798fdcc901ee474b6d9a1”) // 這是瓜合約地址

tokenContract.balanceOf(eth.coinbase) // 檢查餘額

這似乎是一種過於笨拙的方式來找出我賬戶中的 MLN 餘額。有什麼可以做的更清潔的嗎?除此之外,我現在想將 MLN 代幣發送到另一個地址,但我不清楚該怎麼做。

感謝幫助。

如果你使用的是乙太坊錢包,更簡潔的方法是`Watch Token

  • 轉到契約選項卡。
  • 點擊觀看令牌
  • 輸入代幣合約地址、代幣名稱、代幣符號、最小單位的小數位等詳細資訊
  • 點擊確定

您將能夠看到餘額。

要執行像 ’ 這樣的合約功能transfer,您需要Watch Contract.

  • 轉到契約選項卡。
  • 點擊觀看令牌
  • 輸入契約名稱、契約地址、JSON 介面(契約 ABI)等詳細資訊
  • 點擊確定
  • 現在契約將列在契約選項卡下,您可以呼叫它的任何功能

如果您不使用乙太坊錢包並想繼續使用,可能您應該使用web3.jsgeth為 checkBalance、transferCoin 等操作編寫函式。

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