保有EGGの一覧取得
現在自分が保有するEGGの一覧を取得するサンプル
コントラクト、JSON-RPC、abiファイルはテスト環境情報を参照
注意
web3のversionは1.9.8をご使用ください。
EGG一覧取得例(js):
var Web3 = require('web3');
var eggAbi = require("./egg.json");
const web3 = new Web3("https://stgchains.anicana.org/"); // JSON-RPCのurlを指定
const eggAddr = "0xb374640Ca3E3DA6F836ca8c60130fCAE2da3B929"; // Eggコントラクトのアドレスを指定
const holderAddr = "0xe092b1fa25DF5786D151246E492Eed3d15EA4dAA"; // EGGの保有状況を確認したい対象アドレス
const eggContract = new web3.eth.Contract(eggAbi, eggAddr);
const listOfEggs = async() => {
var balance = await eggContract.methods.balanceOf(holderAddr).call();
console.log(balance);
var eggIds = [];
for(var i=0; i<balance; i++){
var res = await eggContract.methods.tokenOfOwnerByIndex(holderAddr, i).call();
eggIds.push(res);
}
console.log(eggIds);
}
保有EGG一括取得function:
@param account トークンを保持しているアカウントのアドレス
@param index 取得したいトークンのindex番号
@param limit 取得したいトークンの最大数
@return トークン情報の配列
// limit = 1000程度までは1回で取得可能。上限はスマートコントラクトの状態によるが、上限を超えるとエラーが返る。
function tokenOfOwnerByIndexBatch(address owner, uint256 index, uint256 limit) public view returns (uint256[] memory)