21026 large

126 孤荷凌寒自学第 0212 天_区块链第 126 天 NFT023

941xue · 于 发布 · 812 次阅读

【主要内容】
今天继续学习了解ntf的相关知识,今天对修改后的合约进行了第二次部署,部署成功,基础测试也成功。共耗时33分钟。
(此外整理作笔记花费了约26分钟)
详细学习过程见文末学习过程屏幕录像。
【两个主要的合约分开部署】
一、我先是部署了合约:StandardAssetRegistryTest.sol
方法是,在remix的文件列表中选中文件StandardAssetRegistryTest.sol 然后检测,到部署选项卡(DEPLOY & RUN TRANSACTIONS)的CONTRACT下拉选项框中再次选中本文件
StandardAssetRegistryTest.sol/…
然后就是部署。
这第二次部署后得到的合约地址是:
0xeD4202E35c63EDfDC38Fff34100Ac86217960DD3
二、然后部署了合约:Exchange.sol
方法是,在remix的文件列表选项卡中选中文件:Exchange.sol 然后检测,到部署选项卡(DEPLOY & RUN TRANSACTIONS)的CONTRACT下拉选项框中再次选中本文件
Exchange.sol/…
这时在Deploy按钮右边需要输入一个地址address
根据昨天的推测,此处应当填写的就是上面刚刚生成的合约StandardAssetRegistryTest.sol
得到的那个合约地址:0xeD4202E35c63EDfDC38Fff34100Ac86217960DD3
就把这个地址传递给Exchange.sol部署的建构函数(就是初始化)。
然后就点击 部署(Deploy)。
成功取得合约Exchange第二次部署后的合约地址:
0xD743566eab537F268759DF6723280D866764F1b8
后面的与合约交互的成功,验证了昨天的猜想是正确的,则:
Exchange.sol文件中对合约文件StandardAssetRegistryTest.sol的引用却没有继承自这个合约,也就是之前已经测试过的(在之前那个ICO合约)合约的连接。
Exchange.sol在这儿import合约文件StandardAssetRegistryTest.sol相当于在自身文件中申明了一个关于StandardAssetRegistryTest的interface。
而后Exchange合约中的建构函数中下面这句代码:
nonFungible = StandardAssetRegistryTest(_nonFungible);
也就和之前众筹合约的写法是一样的,就是给这个interface传递真正已部署合约的地址,就连接到了那个合约地址,并得到一个对已部署合约的引用对象,在这儿就是:nonFungible这个对象。
二、测试情况
对合约StandardAssetRegistryTest的测试非常成功,这下子,在生成(铸币)新的NFT资产时就再也不需要由调用合约者手动指定资产的ID了,合约自己会在每次铸币时生成一个新的ID,而我改动后的合约代码,在生成新的NFT资产时是可以同时添加资产的URL的,后续也可以读取出指定ID的资产对应的URL。说明修改是成功的。
对合约Exchange的sell(出售节点自己的NFT资产)也是成功的,不过想BUY时出现问题,这是remix与合约交互的一个限制——不能同时发送ETH与资产ID数据,这个需要我自己写前端HTML页面来解决才能测试。

github: https://github.com/lhghroom/Self-learning-blockchain-from-scratch

【欢迎大家加入[就是要学]社群】
如今,这个世界的变化与科技的发展就像一个机器猛兽,它跑得越来越快,跑得越来越快,在我们身后追赶着我们。
很多人很早就放弃了成长,也就放弃了继续奔跑,多数人保持终身不变的样子,原地不动,成为那猛兽的肚中餐——当然那也不错,在猛兽的逼迫下,机械的重复着自我感觉还良好地稳定工作与生活——而且多半感觉不到这有什么不正常的地方,因为在猛兽肚子里的是大多数人,就好像大多数人都在一个大坑里,也就感觉不出来这是一个大坑了,反而坑外的世界显得有些不大正常。
为什么我们不要做坑里的大多数人?
因为真正的人生,应当有百万种可能 ;因为真正的一生可以有好多辈子组成,每一辈子都可以做自己喜欢的事情;因为真正的人生,应当有无数种可以选择的权利,而不是总觉得自己别无选择。因为我们要成为一九法则中为数不多的那个一;因为我们要成为自己人生的导演而不是被迫成为别人安排的戏目中的演员。
【请注意】
就是要学社群并不会告诉你怎样一夜暴富!也不会告诉你怎样不经努力就实现梦想!
【请注意】
就是要学社群并没有任何可以应付未来一切变化的独门绝技,也没有值得吹嘘的所谓价值连城的成功学方法论!
【请注意】
社群只会互相帮助,让每个人都看清自己在哪儿,自己是怎样的,重新看见心中的梦想,唤醒各自内心中的那个英雄,然后勇往直前,成为自己想要成为的样子!
期待与你并肩奔赴未来!

QQ群:646854445 (【就是要学】终身成长)

【原文地址】
https://www.941xue.com/content.aspx?id=1743
【同步语音笔记】
https://www.ximalaya.com/keji/19103006/360296699

【学习过程屏幕录屏】
今天的录屏B站没有放行,发布没有成功。

  • 暂无回复。