TOM:官方解读丨什么是Bytom2.0注册合约?

Bytom2.0上线已有三周时间,其中,有关Bytom2.0合约体系在此次更新中进行了重大升级,升级内容包括但不限于UTXO的世界状态、类Goland的开发语言、更完备的操作符、注册合约以及后续对EVM的兼容等内容。

在本篇文章中,我们会主要向Bytom用户介绍有关Bytom2.0的注册合约。

一、什么是注册合约?

注册合约即通过销毁一个UTXO向链上写入一个合约代码,通过该合约的哈希即可直接使用该合约的代码。注册合约可以通过该方式联系到Bytom1.0中的合约模板,但合约模板只是给开发者一个参考,开发者需要自己把合约模板部署到链上,而注册合约注册完成后,开发者可以直接调用。

Coingraph:美国法院批准对Binance.US资产冻结的报道暂未得到官方确认:6月7日消息,Coingraph发推称,此前关于美国一家法院批准了美国证券交易委员会(SEC)要求冻结Binance.US资产的请求的报道源自当地的报纸,需等待官方确认或否认。[2023/6/7 21:22:06]

二、注册合约的优势:一次发行,永久调用

注册合约的优点是只需要往链上发行一次,即可不限次数的使用,并且除了可以自己使用,也可以提供给外部使用。

除此之外,注册合约发行在链上,公开透明,不可更改,杜绝了恶意人员篡改的可能性。

对于链的整体运行而言,注册合约在发行后只占用一次的空间,相比于每次都部署新的合约,大大节省了链上存储,从而降低了网络的开销。

TronLink作为官方唯一指定钱包即将正式上线SUN挖矿:据最新消息,TronLink波宝钱包将作为SUN挖矿官方唯一指定钱包,于9月2日晚21:00点正式上线SUN创世挖矿。据悉,太阳币SUN是一个专注于波场DeFi建设的社会实验,其定位是波场的比特币,零VC投资,零私募投资,零预挖,零团队预留,完全依靠社区与开源的智能合约。TronLink波宝钱包是一款安全、全面、专业的波场钱包,也是目前波场TRON生态中用户量最大的去中心化钱包,其产品已经累计为超过40万的波场用户提供服务。[2020/9/2]

三、Bytom2.0注册合约使用流程

1、创建合约

2、使用Bytom2.0全节点在本地创建一份注册合约

ETC官方:网络或存在重复攻击 请将确认要求提高至1万以上:8月30日,ETC官方发推称,ETC占整个ETH网络哈希率的3%。在测试和评估诸如重组上限之类的解决方案,以及随后的ECIP时,官方非常清楚可能存在潜在的重复攻击。如果还没有增加确认要求,请提高到1万以上。8月30日早间消息,ETC再遭大规模51%攻击,7000多区块发生重组。注:针对ETC频繁遭遇51%攻击,ETC社区已与Cardano相关团队合作,近期已提出ETC资金机制和利用检查点防御51%攻击等相关方案。[2020/8/31]

3、构建特殊register-contract交易,将合约、gas费用、输入输出填写完成

4、签名交易并提交

UPbit发布官方发布网页行情查询延迟公告:现在由于接收量暴增导致网页行情查询发生延迟,如果发生延迟建议大家使用电脑或者手机APP。给大家带来的不便敬请谅解。[2018/1/4]

5、客户端将该交易广播到全网

6、共识节点获得该交易,对格式进行校验,对输入输出进行校验,并检查gas费用是否足够,如果校验无误,则放入交易池中

7、共识节点从交易池中获取交易并打包入块

8、注册合约注册成功

四、注册合约案例

下面我们将通过流程模拟实现注册合约的案例:

1.钱包搭建

用户需要首先搭建Bytom2.0全节点并创建钱包,具体可查看搭建教程文档:https://developer.bytom.io/guide/01_set_up_full_node.html

2.合约编写

使用Bytom2.0合约语言编写一个合约,以下仅为示例展示:

将合约编译成字节码

实例化合约参数的字节码

3.在本地创建合约

使用全节点的create-contract即可在本地创建合约

4.注册合约上链

使用基本的交易上链流程,build-sign-submit即可

构建注册合约的交易结构,其中type为"register_contract",同时将本地创建的合约id带入contract中

5.签名交易

6.提交交易

至此,只要该交易打包上链,注册合约完成。

五、小结

总的来讲,注册合约是Bytom2.0合约的创新,它以的特点,方便合约代码的复用,同时公开透明防篡改,也有效节约了链上存储。

之后,我们还会进一步介绍如何将已注册的合约进行交互调用,敬请期待相关文章。

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

地球链

[0:15ms0-0:797ms