c是领先的区块链项目之一,它构建了第一个为智能合约提供外部数据的去中心化预言机网络。t通过提供强大的开发框架,帮助智能合约开发人员创建,测试和部署智能合约。c在其的博文中表示,他们的c t b得到了一些重大的升级!如果你有幸参加了t ,那么你已经看到了这些改进,同时也感谢c的t h所带来的演讲。如果您想开始开发您自己的c智能合约,您可以按照此处的指南获取c的t b。
本文将从t s开始展示这些全新的产品。t s创建了一种更方便的与合约交互的方法,为合约转入link,从而可以请求数据,并且在读取合同的数据时只用三个命令。为了演示此功能,我们首先需要设置我们的环境变量:mnemonic和rpc_url。
使用(以太坊)区块链需要支持该链的钱包,其中最受欢迎的选择之一是mm。您可以非常方便的在几分钟之内拥有自己的以太坊钱包,轻松地与各种a交互。在帐户生成期间,您将看到您的秘密字种子短语,称为助记词。(请不要与任何人您的助记词;如果有人知道你的助记词,他们将会获取到你的地址和私钥)。请务必将此助记词存储在安全的地方,因为稍后我们还将要用到它来完成我们的示例。
此外,您还需要为mm钱包提供测试网络r上的link和eth资金,以便为r e t上的交易提供交易费用。
注意:从测试水龙头为您的帐户转入资金时,请确保从默认的以太坊主网络切换到r测试网络,以正确查看您在r测试网络上的资金。您可以通过e跟踪在r t上进行的任何交易。
我们的第二个环境变量将需要(以太坊客户端的)rpc url。一些流行的rpc连接服务包括i,lp和f。在建立有效的rpc连接和向地址转入资金后,您就可以将智能合约部署到测试网络上了。
上面显示的是将mm钱包链接到t所需的环境变量,可以在-.中找到。
获得所需的所有数据后,可以通过终端命令设置环境变量:
rpc_url=__mnemonic=’ ’
部署
我们现在准备在公共测试网络上部署我们的智能合约。
首先,运行命令:
:
这将编译所有智能合约,然后开始部署它们。
注意:您可能会遇到c合约的一些编译警告。这只是因为link 最初部署的是较旧版本的s。鉴于此合约仅在您运行测试时部署,因此可以忽略这些警告。
我们的一个合约部署的控制台输出。这个交易可以在这里找到。
部署我们的m和mc花费了我们eth,这就是为什么我们需要提前从水龙头中转入资金。现在我们的合约已经部署,我们可以利用三个帮助脚本为link(我们从c水龙头获得的)提供mc,创建请求和读取状态。
这是位于脚本目录中的个帮助脚本,用来与我们的合约进行交互:
-.
-.
-.
可以通过从调用它们。首先,我们必须为合约转入link资金,这可以通过运行以下命令来完成:
/-. --
部署后,输出显示我们的合约地址以及交易地址。我们也可以在浏览器上查看。
请注意,完成后,在交易过程中支付了个link,表明我们的合约已得到资金。接下来,我们现在可以通过运行以下命令来请求合同中的数据:
/-. --
这是您发出请求在c浏览器中的展示(在我们的示例中,我们使用r,但它对r,k和m也同样适用)。正如您所见,c节点接收了我们的请求,并在执行作业之前等待个块确认。现在我们准备读取c节点给我们回复的合约状态,由履约交易表示(以红色突出显示)。
最后,为了读取数据,我们运行了-脚本。特别需要说明的是,这个操作会运行得很快,因为我们没有创建交易,我们只是阅读智能合约的当前状态。
/-. --
在阅读数据时注意我们的输出,我们得到一个数字,以usd * 显示link的当前价格(本文写作时该值为)。这是由于我们的智能合约-.中指定的倍数。
_r-.。truffle_cl_box_times是一个环境变量,用于覆盖默认值。此值用于处理数据的精度(在这种这个例子中是,以美元为单位的eth价格),因为s无法处理小数。这些值可以根据您的实际情况来更改。
得益于t的强大功能,开发智能合约从未如此简单。我们希望您喜欢使用我们的c t b,让您可以在网络上进行完整的测试,部署和交互合约。感谢您的阅读,并请继续关注://.上的未来更新。