我想创建一个智能合约并为 ICO 启动它。我还创建了一个网站,人们可以在其中购买我的代币。我想知道如何查看已售出(实时)的代币数量?所以我可以创建一个实时酒吧柜台来显示已经售出多少百分比的代币。
或者有没有办法可以监控智能合约中的代币销售过程?
我想创建一个智能合约并为 ICO 启动它。我还创建了一个网站,人们可以在其中购买我的代币。我想知道如何查看已售出(实时)的代币数量?所以我可以创建一个实时酒吧柜台来显示已经售出多少百分比的代币。
或者有没有办法可以监控智能合约中的代币销售过程?
代币合约与任何其他智能合约没有什么不同。没有特殊的内置 Solidity 功能或与之相关的逻辑。它们只是遵循规范的常规智能合约。
因此,如果您想访问所售代币的数量,您可以将其编码到您的合同中。虽然出售的代币不是标准 ERC20/ERC721 接口的一部分,但没有什么能阻止您添加constant
功能来检索此信息。事实上,如果你使用的是基本的 Zeppelin Crowdsale合约,你可以使用公共状态变量来计算它weiRaised / rate
(你可能应该创建自己的子合约,Crowdsale
所以最好在其中添加你想要的功能)。
我们可以使用 Etherscan 开发者 API 来根据给定的合约地址审查交易,并找出可供出售的物品的总供应量或数量。
您可以使用 Etherscan 开发人员 API 做很多事情。例如,这里有一个 URL 从 Ethereum Mainnet -> Etherscan -> JSON parser -> Shields.io 提取数据并将其呈现为图像以计算剩余待售的 Su Squares 数量:
^ 我不知道 SO 是否会在此处缓存图像。但该 URL 是一个实时 URL,它可以从区块链中提取可用的 Su Squares 数量。