2017-11-20 34 views
2

공개 밸런스의 토큰 잔액과 모든 토큰 잔액을 쿼리하고 싶습니다. 지금까지 web3을로드하고 getBalance 메서드를 호출했습니다.Web3 JS 라이브러리 (& Metamask), 토큰 잔액 받기

이제 동일한 공개 키로 저장된 ERC20 토큰의 균형을보고 싶습니다. 예 : OMG 토큰의 잔액을 확인하고 싶습니다. https://ethereum.stackexchange.com/questions/15372/how-can-i-view-all-the-tokens-and-contracts-associated-with-an-ethereum-address

omgContractAddress = "0xd26114cd6EE289AccF82350c8d8487fedB8A0C07" 
OmgContract = web3.eth.contract(abi) 
omgContract = OmgContract.at(omgContractAddress) 
someUsersAddress = "0x75087d9faa28d653750f3e4c86e7dcf6aff0a916" 
omgContract.balanceOf someUsersAddress, (err, balance)-> #some owner 
     console.error err 
     console.info balance.toNumber() 

질문 :

1) 나는 각 토큰의 abi가 필요하십니까

는 지금까지 각 토큰 계약 주소를 조회해야하는 것을 발견? 또는 표준화 된 방법을 사용하기 만한다면 ERC20 토큰에 표준화 된 abi을 사용할 수 있습니까?

2) abi은 어디에서 찾을 수 있습니까? 또는 각 계약을 다시 컴파일해야합니까?

예. OMG : https://etherscan.io/token/OmiseGo

답변

2

내가 https://etherscan.io/address/<token_address>#code에 여러 토큰의 abi의를 찾을 수있는 지금까지 그들은 그들의 abi에서 일반적으로 같은 방법이있다. 원본 abi을 읽지 않고 메소드를 직접 내 소스 코드에 복사했습니다. 예 :

abi = [{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"}]