http://www.umut.cn

利用Truffle助力Chainlink智能合约开拓

fund-contract.js

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

Chainlink是领先的区块链项目之一,它构建了第一个为智能合约提供外部数据的去中心化预言机网络。Truffle通过提供强大的开拓框架,辅佐智能合约开拓人员建设,测试和陈设智能合约。Chainlink在其的博文中暗示,他们的Chainlink Truffle Box获得了一些重大的进级!假如你有幸介入了Trufflecon 2019,那么你已经看到了这些改造,同时也感激Chainlink的Thomas Hodges所带来的演讲。假如您想开始开拓您本身的Chainlink智能合约,您可以凭据此处的指南获取Chainlink的Truffle Box。

我们此刻筹备在民众测试网络上陈设我们的智能合约。

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

这是位于剧本目次中的3个辅佐剧本,用来与我们的合约举办交互:

这将编译所有智能合约,然后开始陈设它们。
请留意,完成后,在生意业务进程中付出了1个LINK,表白我们的合约已获得资金。接下来,我们此刻可以通过运行以下呼吁来请求条约中的数据:
利用(以太坊)区块链需要支持该链的钱包,个中最受接待的选择之一是MetaMask。您可以很是利便的在几分钟之内拥有本身的以太坊钱包,轻松地与各类dApp交互。在帐户生成期间,您将看到您的奥秘12字种子短语,称为助记词。(请不要与任何人您的助记词;假如有人知道你的助记词,他们将会获取到你的地点和私钥)。请务必将此助记词存储在安详的处所,因为稍后我们还将要用到它来完成我们的示例。
在阅读数据时留意我们的输出,我们获得一个数字,以USD * 100显示LINK的当前价值(本文写作时该值为22094)。这是由于我们的智能合约request-data.js中指定的倍数。
npx truffle exec scripts/request-data.js --network live

陈设我们的Migrations和MyContract耗费了我们ETH,这就是为什么我们需要提前从水龙头中转入资金。此刻我们的合约已经陈设,我们可以操作三个辅佐剧本为LINK(我们从Chainlink水龙头得到的)提供MyContract,建设请求和读取状态。
另外,您还需要为MetaMask钱包提供测试网络Ropsten上的LINK和ETH资金,以便为Ropsten Ethereum Testnet上的生意业务提供生意业务用度。


我们的一个合约陈设的节制台输出。这个生意业务可以在这里找到。
上面显示的是将MetaMask钱包链接到Truffle所需的情况变量,可以在truffle-config.js中找到。









read-contract.js

留意:从测试水龙头为您的帐户转入资金时,请确保从默认的以太坊主网络切换到Ropsten测试网络,以正确查察您在Ropsten测试网络上的资金。您可以通过Etherscan跟踪在Ropsten Testnet长举办的任何生意业务。

本文将从Truffle Scripts开始展示这些全新的产物。Truffle Scripts建设了一种更利便的与合约交互的要领,为合约转入LINK,从而可以请求数据,而且在读取条约的数据时只用三个呼吁。为了演示此成果,我们首先需要配置我们的情况变量:MNEMONIC和RPC_URL。
陈设
留意:您大概会碰着Chainlink合约的一些编译告诫。这只是因为LINK token最初陈设的是较旧版本的Solidity。鉴于此合约仅在您运行测试时陈设,因此可以忽略这些告诫。
首先,运行呼吁:


得益于Truffle的强大成果,开拓智能合约从未如此简朴。我们但愿您喜欢利用我们的Chainlink Truffle Box,让您可以在网络长举办完整的测试,陈设和交互合约。感激您的阅读,并请继承存眷https://blog.chain.link/上的将来更新。

request-data.js
npm run migrate:live


操作Truffle助力Chainlink智能合约开辟



得到所需的所有数据后,可以通过终端呼吁配置情况变量:

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

最后,为了读取数据,我们运行了read-contract剧本。出格需要说明的是,这个操纵会运行得很快,因为我们没有建设生意业务,我们只是阅读智能合约的当前状态。
这是您发出请求在Chainlink欣赏器中的展示(在我们的示例中,我们利用Ropsten,但它对Rinkeby,Kovan和Mainnet也同样合用)。正如您所见,Chainlink节点吸收了我们的请求,并在执行功课之前期待3个块确认。此刻我们筹备读取Chainlink节点给我们回覆的合约状态,由履约生意业务暗示(以赤色突出显示)。


可以通过从npx truffle exec挪用它们。首先,我们必需为合约转入LINK资金,这可以通过运行以下呼吁来完成:
export RPC_URL=your_url_here export MNEMONIC=’your 12 words here’
我们的第二个情况变量将需要(以太坊客户端的)RPC URL。一些风行的RPC毗连处事包罗Infura,LinkPool和Fiews。在成立有效的RPC毗连和向地点转入资金后,您就可以将智能合约陈设到测试网络上了。
陈设后,输出显示我们的合约地点以及生意业务地点。我们也可以在ropsten欣赏器上查察。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。