当前位置:首页 > 物联网 > 区块链
[导读] Chainlink是领先的区块链项目之一,它构建了第一个为智能合约提供外部数据的去中心化预言机网络。Truffle通过提供强大的开发框架,帮助智能合约开发人员创建,测试和部署智能合约。Chain

Chainlink是领先的区块链项目之一,它构建了第一个为智能合约提供外部数据的去中心化预言机网络。Truffle通过提供强大的开发框架,帮助智能合约开发人员创建,测试和部署智能合约。Chainlink在其的博文中表示,他们的Chainlink Truffle Box得到了一些重大的升级!如果你有幸参加了Trufflecon 2019,那么你已经看到了这些改进,同时也感谢Chainlink的Thomas Hodges所带来的演讲。如果您想开始开发您自己的Chainlink智能合约,您可以按照此处的指南获取Chainlink的Truffle Box。

本文将从Truffle Scripts开始展示这些全新的产品。Truffle Scripts创建了一种更方便的与合约交互的方法,为合约转入LINK,从而可以请求数据,并且在读取合同的数据时只用三个命令。为了演示此功能,我们首先需要设置我们的环境变量:MNEMONIC和RPC_URL。

使用(以太坊)区块链需要支持该链的钱包,其中最受欢迎的选择之一是MetaMask。您可以非常方便的在几分钟之内拥有自己的以太坊钱包,轻松地与各种dApp交互。在帐户生成期间,您将看到您的秘密12字种子短语,称为助记词。(请不要与任何人您的助记词;如果有人知道你的助记词,他们将会获取到你的地址和私钥)。请务必将此助记词存储在安全的地方,因为稍后我们还将要用到它来完成我们的示例。

此外,您还需要为MetaMask钱包提供测试网络Ropsten上的LINK和ETH资金,以便为Ropsten Ethereum Testnet上的交易提供交易费用。

注意:从测试水龙头为您的帐户转入资金时,请确保从默认的以太坊主网络切换到Ropsten测试网络,以正确查看您在Ropsten测试网络上的资金。您可以通过Etherscan跟踪在Ropsten Testnet上进行的任何交易。

我们的第二个环境变量将需要(以太坊客户端的)RPC URL。一些流行的RPC连接服务包括Infura,LinkPool和Fiews。在建立有效的RPC连接和向地址转入资金后,您就可以将智能合约部署到测试网络上了。

上面显示的是将MetaMask钱包链接到Truffle所需的环境变量,可以在truffle-config.js中找到。

获得所需的所有数据后,可以通过终端命令设置环境变量:

export RPC_URL=your_url_here export MNEMONIC=’your 12 words here’

部署

我们现在准备在公共测试网络上部署我们的智能合约。

首先,运行命令:

npm run migrate:live

这将编译所有智能合约,然后开始部署它们。

注意:您可能会遇到Chainlink合约的一些编译警告。这只是因为LINK token最初部署的是较旧版本的Solidity。鉴于此合约仅在您运行测试时部署,因此可以忽略这些警告。

我们的一个合约部署的控制台输出。这个交易可以在这里找到。

部署我们的Migrations和MyContract花费了我们ETH,这就是为什么我们需要提前从水龙头中转入资金。现在我们的合约已经部署,我们可以利用三个帮助脚本为LINK(我们从Chainlink水龙头获得的)提供MyContract,创建请求和读取状态。

这是位于脚本目录中的3个帮助脚本,用来与我们的合约进行交互:

fund-contract.js

request-data.js

read-contract.js

可以通过从npx truffle exec调用它们。首先,我们必须为合约转入LINK资金,这可以通过运行以下命令来完成:

npx truffle exec scripts/fund-contract.js --network live

部署后,输出显示我们的合约地址以及交易地址。我们也可以在ropsten浏览器上查看。

请注意,完成后,在交易过程中支付了1个LINK,表明我们的合约已得到资金。接下来,我们现在可以通过运行以下命令来请求合同中的数据:

npx truffle exec scripts/request-data.js --network live

这是您发出请求在Chainlink浏览器中的展示(在我们的示例中,我们使用Ropsten,但它对Rinkeby,Kovan和Mainnet也同样适用)。正如您所见,Chainlink节点接收了我们的请求,并在执行作业之前等待3个块确认。现在我们准备读取Chainlink节点给我们回复的合约状态,由履约交易表示(以红色突出显示)。

最后,为了读取数据,我们运行了read-contract脚本。特别需要说明的是,这个操作会运行得很快,因为我们没有创建交易,我们只是阅读智能合约的当前状态。

npx truffle exec scripts/read-contract.js --network live

在阅读数据时注意我们的输出,我们得到一个数字,以USD * 100显示LINK的当前价格(本文写作时该值为22094)。这是由于我们的智能合约request-data.js中指定的倍数。

_Request-data.js。TRUFFLE_CL_BOX_TIMES是一个环境变量,用于覆盖默认值100。此值用于处理数据的精度(在这种这个例子中是,以美元为单位的ETH价格),因为Solidity无法处理小数。这些值可以根据您的实际情况来更改。

得益于Truffle的强大功能,开发智能合约从未如此简单。我们希望您喜欢使用我们的Chainlink Truffle Box,让您可以在网络上进行完整的测试,部署和交互合约。

来源: Chainlink资讯

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭