我们要跟踪`requestId`,这样当随机数获取到时,我们就可以把它映射到我们正在创建的角色上。这将启动ChainlinkJob,需要等待Chainlink节点回调到我们的合约即可!你可以在Chainlink文档中阅读更多关于请求模型的内容,了解更多关于发送Chainlink请求的工作原理。Chainlink节点完成了对请求的处理,它就会通过调用`fulfillRandomness`函数来响应。这个函数包含了给出属性的计算,将角色添加到列表中,以及铸造NFT。
现场 | 以太坊行业峰会第一场圆桌 如何应对智能合约安全问题:金色财经9月8日现场报道,Loi Luu (KyberNetwork 创始人)、Shawn Douglass
(Amberdata 联合创始人兼CEO)、Jay Zhou (Loopring Protocol 联合创始人)、Alan Li (FBG X 研发部负责人)、Antoine Cote (Enuma Technologies 联合创始人兼CEO) 参与了讨论,嘉宾们一致认为,由于智能合约涉及资产交易且不可篡改,一旦发生安全问题将引起资产严重受损,关注智能合约安全是必要的。Loi Luu指出,区块链行业项目方,需要为开发者设立预警机制。开源代码要引入第三方检测,避免犯一些显而易见的错误。
Jay zhou认为,需要更有经验的开发者去开发用户易用、以人为本的合约,同时也有必要引入交叉审计。
Shawn Douglass说:“因为智能合约的不可篡改性,在程序员开发前,就必须告知开发者未来可能造成的后果,特别是在涉及资产的领域必须确保事前万无一失甚至考虑保险。”
Antoine Cote表示,可以在早期时候引入悬赏机制让黑客或者社区成员共同发现漏洞。大家讨论后得出共识,每一个开发者都必须在开发速度和安全性之间做一个平衡。在区块链领域,注重安全和责任心是必须的。[2018/9/8]
肯尼亚成立了一个特别小组,研究如何利用人工智能和区块链等最新技术:肯尼亚成立了一个特别小组,研究如何利用人工智能和区块链等最新技术。“我们错过了互联网浪潮,赶上了移动技术……区块链是下一个浪潮,我们必须参与其中。”信息部部长约瑟夫·穆切鲁(Joseph Mucheru)表示,在其他用途中,区块链可以帮助组织政府存储的土地记录,这对那些想要购买、出售或核实有关土地信息的人来说,是一种持续性的保障。[2018/5/5]
可以看到,只是用一次随机数来创建所有六个属性。使用取模运算对返回的大随机数取一个子集。如果我们不想这样做,我们也可以直接调用ChainlinkVRF六次,但这种方式的效果是一样的。返回的随机数的最后两位数字用于强度,前面的两位数字用于敏捷,以此类推。这与CryptoKitties使用基因给猫咪赋值的方式类似。*需要注意的是:做位操作会比我们这里的方式更有效率,但这样更容易理解,所以我们不必去研究位操作的工作原理。*`_safeMint`是继承自`ERC721.sol`的函数,它允许我们跟踪ERC721的所有者。这一点很重要,特别是当你希望你的NFT采取一些行动,但你不希望其他人能够采取这种行动。我们将在下一篇NFT文章中了解更多的信息。我们将使用Truffle和Chainlink,所以如果你不熟悉Truffle,这篇关于(将给你一个复习的机会,但我们也会在这篇博文中介绍所有的命令!部署和快速启动
现在我们知道是怎么回事了,让我们来部署我们的随机NFT吧!你需要一些RinkebyLINK和RinkebyETH来运行这些脚本。trufflemigrate--reset--networkrinkebytruffleexecscripts/fund-contract.js--networkrinkebytruffleexecscripts/generate-character.js--networkrinkebytruffleexecscripts/get-character.js--networkrinkeby上述命令做了下面这些事情:1.部署NFT合约2.向合约注资以便可以发起ChainlinkVRF调用3.用ChainlinkVRF调用生成角色4.返回NFT值部署完毕,你还可以验证合约,甚至可以使用etherscan插件在Etherscan上阅读合约。你需要获得一个EtherscanAPI密钥,并设置环境变量`ETHSCAN_API_KEY`。之后运行:trufflerunverifyDungeonsAndDragonsCharacter--networkrinkeby--licenseMIT然后它会给你一个Etherscan上的NFT链接。你可以在Etherscan上阅读合约内容。
这样你就进入到可以与合约互动的页面。如果你进入角色部分,你可以输入我们刚刚生成的tokenId,0,然后就可以看到你的新D&D角色的统计信息了。
你可以查看Rinkeyby的这个合约的例子。其中有几个角色的名字很有意思!总结
使用ChainlinkVRF在NFT中随机数很容易,使用之后会有一个全新的世界可以探索。我们在这里只是触及到了表面,所以请期待下一篇关于在市场上销售它们、渲染图像和使用元数据的博客。我们很想看到一些使用ChainlinkVRF创建的很棒的角色和游戏,为它们提供动力,做到真正公平。如果你打造了一款酷炫的NFT#PoweredByChainlink,一定要在推特上告诉我们!如果你是一名开发者,并希望将你的智能合约连接到链外数据和系统,请访问开发者文档并加入Discord上的技术讨论。如果你想安排一个电话,更深入地讨论整合问题,请在这里联系我们。智能合约开发者正在NFT中建设一个全新的随机世界。你会成为引领这一潮流的先驱者之一吗?
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。