月亮链 月亮链
Ctrl+D收藏月亮链
首页 > 币赢 > 正文

CHA:区块链研究实验室| HyperLedger Fabric架构构建ERC20令牌 part I_cpchain

作者:

时间:1900/1/1 0:00:00

由于其高TPS和作为区块链作为服务平台的行为,许多新创新者正在选择Hyperledger来部署他们的区块链业务。因此,在本博客中,我们将讨论使用node.js在Hyperledger中创建基于erc20的令牌链代码的方法。

为何选择ERC20?

ERC20是以太坊广泛测试和接受的,将其整合到Hyperledger中,可以轻松地为基于Hyperledger的任何令牌编写安全且可扩展的链码。

我们将在本教程中参考以下开源存储库。

注意:我们假设您已经熟悉Hyperledger结构,并且您的系统配备了启动Hyperledger开发的先决条件。如果没有,请参阅Hyperledger文档中的先决条件、关键概念和教程。

此存储库中的代码已在以下环境中进行了测试:

node:v8.9.3和v8.11.4

Hyperledger:v1.2

Docker:18.06.1-ce

Python:2.7.12

港股区块链股集体高开,币科技涨超5%:行情显示,港股区块链股集体高开,雄岸科技涨超8%,欧科云链涨6%,火币科技涨5%,BC科技集团和美图涨超3%。[2021/8/10 1:45:14]

Go:go1.9.3linux/amd64

curl:7.47.0

我们建议在适应代码的同时使用相同的版本。

确保先决条件安装正确后,请执行以下步骤:

cd?path/to/repository/foldercd?network

进入网络文件夹后,即可创建超级账本网络环境。它将分别为您创建2个组织,Orderer每个组织有2个对等组。

Housekeeping

如果这是您第二次运行本教程,或者您已成功运行任何其他基于HyperLedgerFabric的代码,那么我们建议您首先运行以下命令:

./buildERC20TokenNetwork.sh?down

它将要求确认:

Stopping?for?channel?'mychannel'?with?CLI?timeout?of?'10'?seconds?and?CLI?delay?of?'3'?secondsContinue??

声音 | 中国证券报:人工智能和区块链重塑未来金融形态:1月11日,中国证券报刊文“人工智能和区块链重塑未来金融形态”。文章表示,如今,人工智能技术和区块链技术将给金融行业带来更为重大的挑战和机遇。这样的挑战可能导致两种结果:一是新技术被融入传统业务,从而实现信息化水平的升级,进一步提高效率、降低成本;二是新技术彻底颠覆传统业务。人工智能技术和区块链技术能否彻底颠覆传统金融业务,将取决于技术的成熟程度和应用深度,有待于人们进一步观察。[2020/1/11]

按Y并继续。

注意:您可以使用以下命令检查Docker有多少个容器或卷正在运行:

dockerps

dockervolumels

如果使用脚本很难关闭容器和卷,请尝试运行以下命令:

dockernetworkprune

dockervolumeprune

dockerrm-f$(dockerps-aq)

令牌网络设置

完成Housekeeping后,您就可以使用以下命令启动网络了:

声音 | 洪泰基金盛希泰:区块链等底层技术形成融合生态 推动金融科技进入新阶段:据新华网消息,洪泰基金创始人、洪泰资本控股董事长盛希泰近日在活动中表示,中国的金融科技市场太大,需求太大。盛希泰重点介绍了金融科技发展的四个机会。其一是市场下沉的机会。三四五线及以下城市总人口接近10亿,市场规模大,同时金融服务匮乏,金融科技到来恰逢其时,可以覆盖长尾客户,提升金融服务普惠性。其二是人群变化的机会。90/95后是互联网原始居民,消费能力超出想象,他们是金融科技的主流用户。其三是技术升级的机会。人工智能、大数据、云计算、区块链等底层技术形成融合生态,推动金融科技进入新阶段。其四,ESG(环境、社会、公司治理)投资已成为国际市场主流投资趋势,绿色金融将成为经济发展的风口。金融科技形成对环保、节能、清洁能源的支持,将是很大的投资切入点。[2019/8/27]

执行可能需要一些时间。但是,如果您在终端中看到以下日志,则表示它已成功执行,您的网络已准备就绪。

使用crypto-config.yaml文件在您的网络目录中名为crypto-config的文件夹中为HyperLedger的每个实体创建了所需的证书。

动态 | Union Square Ventures已进行17次加密和区块链企业投资:据The Block消息,纽约风险投资公司Union Square Ventures对专注于加密和区块链的初创企业进行了17次公开披露的投资,其中包括Coinbase、Blockstack。 注:Blockstack Token LLC于4月11日宣布已经向美国SEC提交申请,要在SEC监管下进行5000万美元的token融资。如果申请成功,这将是第一个符合美国SEC监管标准的Token融资项目。 在此之前,Blockstack已获得一轮5000万美元的融资,包括Union Square Ventures、Y Combinator、Lux Capital和Naval Ravikant在内的众多知名投资机构都参与此轮融资。[2019/4/13]

创建了channel.tx,genesis.block,Org1MSPanchors.tx和Org1MSPanchors.tx。

它还为以下内容创建了Docker容器和卷:

peer0andpeer1orOrg1

俄罗斯加密货币与区块链协会:俄罗斯去年一半的ICO资金流入庞氏局:根据俄罗斯加密货币与区块链协会近日所说,俄罗斯去年吸引了3亿美元ICO资金,但其中一半资金被用于庞氏局。该组织代表着俄罗斯的加密货币社区,目前正在制定一种ICO标准,帮助投资者区分真正的项目和欺诈项目。俄罗斯ICO规模占到全球ICO的10%。[2018/4/24]

peer0andpeer1ofOrg2

orderer

CLI

chaincode

使用dockerps和dockervolumels检查它们。我们还在Org1和Org2之间创建了一个频道名称mychannel,每个组织的同伴都是该频道的一部分。然后在每个组织的peer0上安装我们的链代码并实例化我们的链代码,命名为mycc。您可以使用以下方法查看相应对等/链代码的日志:

docker?logs??//?type?peer?and?then?tab?to?see?your?optionsdocker?logs??//?type?dev?and?then?tab?to?see?your?options

注意:对于调试,您可以访问您的链代码和对等日志dockerlogs<按TAB查看选项>;如果您没有看到链代码的容器,那么实例化我们的令牌链代码就会出现问题。

我们的代币

现在我们的chaincode已经启动并运行,让我们尝试一些getter和setter函数来更好地理解它。为此,我们需要输入我们创建的cli容器。

docker?exec?-it?cli?bash

你将会看到以下结果:

:/opt/gopath/src/github.com/hyperledger/fabric/peer#

getter函数

一旦进入了cli,就可以调用simpletoken中提供的getter函数。我们将逐一讨论您可以访问的每一个:

获得所有权人

此函数将返回令牌合同的所有者。现在是MSPID实例化了契约,您可以在这里看到它。

peer?chaincode?query?-C?mychannel?-n?mycc?-c?'{"Args":}'Org1MSP

这里,mychannel是我们的通道名称,mycc是我们的chaincode的名称,如您所见,org1msp是我们chaincode的当前所有者。

getName

此函数将返回令牌合同的名称。它在实例化合同时被设置为简单令牌,您可以在这里看到它。

peer?chaincode?query?-C?mychannel?-n?mycc?-c?'{"Args":}'Simple?Token

如您所见,SimpleToken是我们当前的令牌名称。

getSymbol

此函数将返回我们的令牌合约的符号。在实例化合同时将其设置为SMT,您可以在此处查看

peer?chaincode?query?-C?mychannel?-n?mycc?-c?'{"Args":}'SMT

如您所见,SMT是我们当前的令牌符号。

getTotalSupply

此函数将返回令牌合同的总供应量。在设置之前,它默认为0。您可以在这里找到所需的逻辑。

peer?chaincode?query?-C?mychannel?-n?mycc?-c?'{"Args":}'0

如你所见,0是我们目前的总供应量。

isMintingAllowed

此getter返回存储在Hyperledger上的IsMintingAllowed布尔值。它默认为未定义,直到设置一次。您可以在这里找到所需的逻辑。

peer?chaincode?query?-C?mychannel?-n?mycc?-c?'{"Args":}'undefined

正如你所看到的,isMintingAllowed现在是未定义的。一旦稍后设置,它将返回true或false。

getAllowance

此getter返回令牌所有者为SpenderMSPID设置的津贴值。它将“inputthemspidtoken”owner作为第一个参数,将“mspidofspender”作为第二个参数。在设置之前,它默认为0。

peer?chaincode?query?-C?mychannel?-n?mycc?-c?'{"Args":}'0

如你所见,getallowance现在是0。稍后设置后,它将返回float。我们还要检查一下还有没有其他组合,看看它是否返回0。

peer?chaincode?query?-C?mychannel?-n?mycc?-c?'{"Args":}'0

getBalanceOf

最后一个getter是getbalanceof函数,它返回我们输入的每个mspid的令牌平衡。如果mspid没有任何令牌平衡,它也默认为0。

本文转载公众号:区块链研究实验室,专注区块链技术,产品社群,经济模型等全方位的知识体系输出,为大家带来不一样的社群学习体验。欢迎联系作者微信加入社群:csschan1120??

标签:CHAMYCDOCKDOCcpchainMYC币dock币最新消息MetaDoctor

币赢热门资讯
LIBRA:火星一线 | 扎克伯格在个人Facebook页为加密货币项目Libra宣传_FACE价格

??火星财经APP一线消息,北京时间6月18日,Facebook创始人兼CEO扎克伯格在在个人Facebook页,亲自为加密货币项目Libra宣传.

1900/1/1 0:00:00
稳定币:为什么数据分析显示 USDT「非常健康」?_wstUSDT币

稳定币的初衷是为变化无常的加密货币市场带来一些稳定性。它们往往1:1锚定像美元这样的货币,因此在那些不允许法币交易的交易所上非常有用.

1900/1/1 0:00:00
区块链:区块链进化的全循环假设_RIO

前言:区块链和去中心化网络能否对人类机构的运作带来重塑?如果能,在多大程度上可以?本文作者提出区块链虽然会持续重塑人类的组织,但它也存在一些社会层面的问题有待解决.

1900/1/1 0:00:00
LIBRA:火星一线 | 解密Facebook加密货币Libra治理机制:Facebook将承担项目领导角色至2019年结束_BOOK价格

火星财经APP一线消息,Facebook于北京时间6月18日17:00前后发布了其加密货币白皮书,其加密货币被正式命名为“Libra”.

1900/1/1 0:00:00
LIBRA:Facebook稳定币Libra重磅发布 利好比特币?_LIBERO

Libra是什么?Libra是由Facebook发行的基于区块链的稳定币,主要用途是支付,此外Libra还可以用于发币兑换、储值、交易等多个场景.

1900/1/1 0:00:00
STAK:火星一线 | HelloEOS创始人梓岑:Staking没必要过度纠结中心化还是去中心化_Staking

火星财经APP一线消息,「火星总编时刻」第31期今晚8点准时开启,本期对话主题为「Staking来袭,10亿级市场打开!」.

1900/1/1 0:00:00