Web3ã®äžçã§ããããŠã©ã¬ããã«ã©ã®ERC-20ããŒã¯ã³ãé ããŠããããç¥ãããã§ããïŒããªãå®çšçãªã¹ãã«ã§ããèªåã®ãŠã©ã¬ããã®æ®é«ã¯ç°¡åã«ç¢ºèªã§ããŸãããä»ã®äººã®ã¯ïŒããã«ã¯å°ãç¹å¥ãªææ®µãå¿ èŠã§ãã## ChainbaseïŒããŒã¯ã³ã®ã¯ã€ãã¯ãã§ã㯠ðChainbase ã¯è¯ãéžæã§ãããªã³ãã§ãŒã³ããŒã¿ã¯ããã«ååŸã§ããŸãã### ã©ãããïŒ1. **ã¢ã«ãŠã³ããš API ããŒãäœæããŸã** ðŒ ç»é²ããŠãã°ã€ã³ãããããžã§ã¯ããäœæããããŒãååŸããŸãããããªã«ç°¡åã§ãã2. **å°ããªã³ãŒããæžã** ð» JavaScriptã䜿ã£ãŠãªã¯ãšã¹ããéä¿¡ããïŒJavaScriptã®const axios = require('axios');éåæé¢æ° getTokens() { { ã詊ã constå¿ç= await axios.get( ' { ãã©ã¡ãŒã¿: { chain_id: 1, // ã€ãŒãµãªã¢ã address: '0xd8da6bf26964af9d7eed9e03e53415d37aa96045', // V ç¥ã®äœæ å¶é: 5 }, ããããŒ: { 'x-api-key': 'ããªãã®APIããŒ' } } ); console.log(response.data); } ãã£ãã (error) { console.error(ãšã©ãŒ); }}getTokens();3. **çµæãèŠã** ð å®è¡ãå®äºããããŒã¯ã³ããŒã¿ããã¹ãŠæããŸãããåç§°ãã·ã³ãã«ãæ®é«...äžéãæã£ãŠããŸãã## ã¢ã«ã±ããŒãæ€çŽ¢ã§ããããæªããªãð¥Alchemy ãã®ãã©ãããã©ãŒã ã¯ãããŒã¯ã³ã®æ€çŽ¢ãåŸæã§ãã### ã¹ãããïŒ1. **ç°å¢ãæŽãã** âïž Node.jsãNPMãããã人ã«ã¯ãããã2. **å šäœã® Alchemy ã¢ã«ãŠã³ã** ð ã¢ããªãäœæããã€ãŒãµãªã¢ã ãéžæããŠãURLãšããŒãååŸããŸããäœãé£ãããããŸããã3. **å°ããªãããžã§ã¯ããäœã** ð ïžããã·ã¥mkdir eth-balanceCDã®ETHãã©ã³ã¹npm init -ynpm install alchemy-sdk4. **ã³ãŒãäžã€ãã ãã** ðJavaScriptã®const { é¬éè¡ããããã¯ãŒã¯ } = require("alchemy-sdk");const config = { apiKey: "ããªãã®APIããŒ", ãããã¯ãŒã¯:Network.ETH_MAINNETã};const alchemy = æ°ããAlchemy(config);éåæé¢æ° getTokenBalances() { constã¢ãã¬ã¹= "0xd8da6bf26964af9d7eed9e03e53415d37aa96045"; const balances = await alchemy.core.getTokenBalances(ã¢ãã¬ã¹); console.log( "ããŒã¯ã³æ®é«:", balances); // ããŒã¯ã³ã®è©³çްæ å ±ãååŸãã balances.tokenBalances( {)const if (token.tokenBalance !== "0") { constã¡ã¿ããŒã¿= await alchemy.core.getTokenMetadata(token.contractAddress); console.log(", metadata.name); console.log("ããŒã¯ã³ã·ã³ãã«:", metadata.symbol); console.log( "å°æ°ç¹ä»¥äžã®æ¡æ°:", metadata.decimals); // 人éã«èªã¿ãããæ®é«ãèšç®ãã const balance = token.tokenBalance / Math.pow(10, metadata.decimals); console.log("ãã©ã³ã¹:", balance); console.log("-----------------"); } }}getTokenBalances();## Moralis ã確èªã§ããã®ã§ãããæ¥œã«æããŸã ðMoralisã®ãšã³ã¿ãŒãã©ã€ãºåãAPIã¯ãããæ±ããããããã§ãã###æäœ:1. **ç°å¢èŠä»¶** ð§ Node.js v14+ãåé¡ãªãã¯ãã§ãã2. Moralis API ããŒðïžãååŸãã ããã·ã¥ããŒãã§ãèšå®ã>ãç§å¯ããæ¢ããŠãã ãããããŒã¯ããã«ãããŸãã3. **ã³ãŒãã¯ä»¥äžã®éãã§ã** ðJavaScriptã®const Moralis = require("moralis").default;éåæé¢æ° getERC20Tokens() { { ã詊ã Moralis.start({ apiKey: "ããªãã®APIããŒ", }); const response = await Moralis.EvmApi.token.getWalletTokenBalances({ äœæ: "0xd8da6bf26964af9d7eed9e03e53415d37aa96045", chain: "0x1", // ã€ãŒãµãªã¢ã }); console.log(JSON.stringify(response.toJSON()ãnullã 2)); } ãã£ãã (e) { console.error(e); }}getERC20Tokens();4. **ã¡ãã£ãšèµ°ãããŠã¿ã** ð¥ïž ããŒã¯ã³ã®è©³çްãåºãŠããŸãããã¢ãã¬ã¹ãååãã·ã³ãã«ãæ®é«...äžç®çç¶ã## 2023幎ã®ç¶æ³ã¯å°ãç°ãªããŸã ð«Web3ã®çºå±ã¯æ¬åœã«æ©ãã§ããããããã®APIãµãŒãã¹ã¯ãŸããŸã匷åã«ãªã£ãŠããããã§ããã¬ãŒãå¶éãé«ããªããŸããããµããŒãããããã§ãŒã³ãå¢ããŸãããé å»¶ïŒäœããªããŸãããç¹ã«Chainbaseã®ãªã¢ã«ã¿ã€ã ã€ã³ããã¯ã¹ã¯ããããããã§ããããªç§åäœã®é å»¶ãDeFiã¢ããªã±ãŒã·ã§ã³ã«ãšã£ãŠãããã¯ãŸãã«çŠé³ã§ãããæ®éã®ãŠãŒã¶ãŒã§ããéçºè ã§ããããããã®ããŒã«ã¯ããªããä»»æã®ã¢ãã¬ã¹ã®ããŒã¯ã³ç¶æ³ã確èªããã®ã«åœ¹ç«ã¡ãŸããæè³ã®è¿œè·¡ãã¢ããªã®éçºããã§ãŒã³äžã®ããŒã¿ã®ç ç©¶...ãã¹ãŠç°¡åã«ã§ããŸããéåžžã«äŸ¿å©ã§ã ð§©ã
ð ãŠã©ã¬ããã¢ãã¬ã¹ã® ERC-20 ããŒã¯ã³ã調ã¹ãã«ã¯ããã®èšäºãèªãã°ååã§ã ð
Web3ã®äžçã§ããããŠã©ã¬ããã«ã©ã®ERC-20ããŒã¯ã³ãé ããŠããããç¥ãããã§ããïŒããªãå®çšçãªã¹ãã«ã§ããèªåã®ãŠã©ã¬ããã®æ®é«ã¯ç°¡åã«ç¢ºèªã§ããŸãããä»ã®äººã®ã¯ïŒããã«ã¯å°ãç¹å¥ãªææ®µãå¿ èŠã§ãã
ChainbaseïŒããŒã¯ã³ã®ã¯ã€ãã¯ãã§ã㯠ð
Chainbase ã¯è¯ãéžæã§ãããªã³ãã§ãŒã³ããŒã¿ã¯ããã«ååŸã§ããŸãã
ã©ãããïŒ
ã¢ã«ãŠã³ããš API ããŒãäœæããŸã ðŒ ç»é²ããŠãã°ã€ã³ãããããžã§ã¯ããäœæããããŒãååŸããŸãããããªã«ç°¡åã§ãã
å°ããªã³ãŒããæžã ð» JavaScriptã䜿ã£ãŠãªã¯ãšã¹ããéä¿¡ããïŒ
JavaScriptã® const axios = require('axios');
éåæé¢æ° getTokens() { { ã詊ã constå¿ç= await axios.get( ' { ãã©ã¡ãŒã¿: { chain_id: 1, // ã€ãŒãµãªã¢ã address: '0xd8da6bf26964af9d7eed9e03e53415d37aa96045', // V ç¥ã®äœæ å¶é: 5 }, ããããŒ: { 'x-api-key': 'ããªãã®APIããŒ' } } ); console.log(response.data); } ãã£ãã (error) { console.error(ãšã©ãŒ); } }
getTokens();
ã¢ã«ã±ããŒãæ€çŽ¢ã§ããããæªããªãð¥
Alchemy ãã®ãã©ãããã©ãŒã ã¯ãããŒã¯ã³ã®æ€çŽ¢ãåŸæã§ãã
ã¹ãããïŒ
ç°å¢ãæŽãã âïž Node.jsãNPMãããã人ã«ã¯ãããã
å šäœã® Alchemy ã¢ã«ãŠã³ã ð ã¢ããªãäœæããã€ãŒãµãªã¢ã ãéžæããŠãURLãšããŒãååŸããŸããäœãé£ãããããŸããã
å°ããªãããžã§ã¯ããäœã ð ïž
ããã·ã¥ mkdir eth-balance CDã®ETHãã©ã³ã¹ npm init -y npm install alchemy-sdk
JavaScriptã® const { é¬éè¡ããããã¯ãŒã¯ } = require("alchemy-sdk");
const config = { apiKey: "ããªãã®APIããŒ", ãããã¯ãŒã¯:Network.ETH_MAINNETã };
const alchemy = æ°ããAlchemy(config);
éåæé¢æ° getTokenBalances() { constã¢ãã¬ã¹= "0xd8da6bf26964af9d7eed9e03e53415d37aa96045";
const balances = await alchemy.core.getTokenBalances(ã¢ãã¬ã¹); console.log( "ããŒã¯ã³æ®é«:", balances);
// ããŒã¯ã³ã®è©³çްæ å ±ãååŸãã balances.tokenBalances( {)const if (token.tokenBalance !== "0") { constã¡ã¿ããŒã¿= await alchemy.core.getTokenMetadata(token.contractAddress); console.log(", metadata.name); console.log("ããŒã¯ã³ã·ã³ãã«:", metadata.symbol); console.log( "å°æ°ç¹ä»¥äžã®æ¡æ°:", metadata.decimals);
} }
getTokenBalances();
Moralis ã確èªã§ããã®ã§ãããæ¥œã«æããŸã ð
Moralisã®ãšã³ã¿ãŒãã©ã€ãºåãAPIã¯ãããæ±ããããããã§ãã
###æäœ:
ç°å¢èŠä»¶ ð§ Node.js v14+ãåé¡ãªãã¯ãã§ãã
Moralis API ããŒðïžãååŸãã ããã·ã¥ããŒãã§ãèšå®ã>ãç§å¯ããæ¢ããŠãã ãããããŒã¯ããã«ãããŸãã
ã³ãŒãã¯ä»¥äžã®éãã§ã ð
JavaScriptã® const Moralis = require("moralis").default;
éåæé¢æ° getERC20Tokens() { { ã詊ã Moralis.start({ apiKey: "ããªãã®APIããŒ", });
} ãã£ãã (e) { console.error(e); } }
getERC20Tokens();
2023幎ã®ç¶æ³ã¯å°ãç°ãªããŸã ð«
Web3ã®çºå±ã¯æ¬åœã«æ©ãã§ããããããã®APIãµãŒãã¹ã¯ãŸããŸã匷åã«ãªã£ãŠããããã§ãã
ã¬ãŒãå¶éãé«ããªããŸããããµããŒãããããã§ãŒã³ãå¢ããŸãããé å»¶ïŒäœããªããŸããã
ç¹ã«Chainbaseã®ãªã¢ã«ã¿ã€ã ã€ã³ããã¯ã¹ã¯ããããããã§ããããªç§åäœã®é å»¶ãDeFiã¢ããªã±ãŒã·ã§ã³ã«ãšã£ãŠãããã¯ãŸãã«çŠé³ã§ããã
æ®éã®ãŠãŒã¶ãŒã§ããéçºè ã§ããããããã®ããŒã«ã¯ããªããä»»æã®ã¢ãã¬ã¹ã®ããŒã¯ã³ç¶æ³ã確èªããã®ã«åœ¹ç«ã¡ãŸããæè³ã®è¿œè·¡ãã¢ããªã®éçºããã§ãŒã³äžã®ããŒã¿ã®ç ç©¶...ãã¹ãŠç°¡åã«ã§ããŸããéåžžã«äŸ¿å©ã§ã ð§©ã