首页 > 世链号 > 基于HyperLedger Fabric架构构建ERC20令牌 part II
解币集货店  

基于HyperLedger Fabric架构构建ERC20令牌 part II

摘要:完成getter调用后,让我们研究simpletoken中提供的setter函数。在进行这些交易之前,您需要满足认可政策,在该帐户中,您将在此处看到一些额外的字段。

setter函数

完成getter调用后,让我们研究simpletoken中提供的setter函数。在进行这些交易之前,您需要满足认可政策,在该帐户中,您将在此处看到一些额外的字段。第一次调用setter到特定对等体时也需要一些时间,之后它几乎立即返回结果。 此外,CLI的配置也设置为Org1 peer0,您可以使用以下命令检查:

RmRGZmMxGaZ3dr3qFYBF29cM2TxDA1wQK3DIxQWf.png

您可以通过运行以下命令更改为peer0,Org2:

xIlJ57ruT4db8EZ7lfyQCSR4g2zgt0idKZLx7f5f.png

对其他同行使用类似的策略。

updateMintingState

我们假设您的配置设置为org1的peer0,否则使用以下命令进行设置:

gVWSFDkXtAl8QaoJQhnwne6lbmF1AF4x9WREYKVT.png

现在让我们尝试将铸造状态更新为true。 我们需要指定Orderer和同行以满足我们的认可政策。

nsO2QRCHr9UHNeCkFFVpPB7HeWfCV0lY3WyHaUMn.png

现在运行getter查看它是否实际更改:

peer chaincode query -C mychannel -n mycc -c '{"Args":["isMintingAllowed"]}'true

注意:如果使用Org2的peer0调用它,它将失败并返回以下结果:

Error: endorsement failure during invoke. chaincode result: <nil>

您可以打开另一个终端并检查错误日志,如下所示:

ugCFst38xK89v78mBhsggWjNK4IqUN2J5IdW1Xxr.png

注意:您可以以类似的方式查询其他错误,只需确保您找到了正确的同行。要了解更多关于其他验证的信息,可以在这里检查链代码。

mint

此功能可用于由令牌所有者创建/铸造令牌。 但isMintingAllowed应该设置为true。 让我们为Org1MSP注入一些令牌。 确保您的配置设置为令牌所有者。

HhaUTt68mhQPvTvOtnAqr6pYLtwe1zo36Muj3HHP.png

您可以使用我们的getter检查余额:

peer chaincode query -C mychannel -n mycc -c '{"Args":["getBalanceOf", "Org1MSP"]}'

100.2345

transfer

现在,我们知道我们有100.2345个在org1Msp下注册的令牌。让我们尝试将10个令牌转移到org2Msp。

jE8KAPWbi6pAmRDWr7jDOP9TUZBBBSFMsVgnPjFt.png

您可以使用以下方法检查Org2的余额:

peer chaincode query -C mychannel -n mycc -c '{"Args":["getBalanceOf", "Org2MSP"]}' 10

updateTokenName

您可以使用此setter更新令牌名称。

qLL3nFXPsWIYkNPKT2kYyNb2gIYPB9CXQK56hmgx.png

检查使用:

peer chaincode query -C mychannel -n mycc -c '{"Args":["getName"]}'TECH COIN

updateTokenSymbol

您可以使用此setter更新标记符号。

IEZCON3ByCGlsDNvYJfj5KeGkzSl4Ct0e0gX9wyL.png

检查使用:

peer chaincode query -C mychannel -n mycc -c '{"Args":["getAllowance", "Org1MSP", "Org2MSP"]}'30

transferFrom

一旦您批准了org2代表org1进行转移。首先在cli中为org2设置config,这样您就可以代表它调用函数。

POvOTYmXxyvnyHq2hqNw57e9La4Xcg0uMirKpG1x.png

现在让我们将一个浮点值转移到一个不存在但有效的mspid。

注意:可以稍后创建这样的mspid,并将令牌预先分配给它们,就像以太坊地址一样。

检查使用:

fFCwiwPJRvegq4waf3yfL0GGyCzR41TFpgpkLrKX.png

transferOwnership

最后,将配置设置回令牌的所有者,并尝试传输令牌所有权。

xNuIi4lzFRp9195dlq81vGruMq6MEcw2X2iBWlSG.png

检查使用:

FfY0aitZjsYgf0DpGi8ZxLzpJbWdtoGU2vSRxnvs.png

Zeppelin的ERC20

我们使用Zeppelin Solidity测试标准在HyperLedger上创建此ERC20令牌版本。 熟悉JS的Solidity开发人员很容易合并。 您可以在这里参考ERC20的架构模型:

  1. 帮助程序 - 包括在链代码调用或查询期间必须满足的验证,检查; 和utils用于使代码DRY。

  2. 示例 - 一个简单的链代码,演示如何使用存储库中提供的基本链代码创建简单令牌。

  3. 令牌 -  HyperLedger上可替换的ERC20令牌的标准接口。

    本文来源: 区块链研究实验室

Tags:
免责声明
世链财经作为开放的信息发布平台,所有资讯仅代表作者个人观点,与世链财经无关。如文章、图片、音频或视频出现侵权、违规及其他不当言论,请提供相关材料,发送到:2785592653@qq.com。
风险提示:本站所提供的资讯不代表任何投资暗示。投资有风险,入市须谨慎。
世链粉丝群:提供最新热点新闻,空投糖果、红包等福利,微信:juu3644。