Bytom2.0上线已有三周时间,其中,有关Bytom2.0合约体系在此次更新中进行了重大升级,升级内容包括但不限于UTXO的世界状态、类Goland的开发语言、更完备的操作符、注册合约以及后续对EVM的兼容等内容。
在本篇文章中,我们会主要向Bytom用户介绍有关Bytom2.0的注册合约。
一、什么是注册合约?
注册合约即通过销毁一个UTXO向链上写入一个合约代码,通过该合约的哈希即可直接使用该合约的代码。注册合约可以通过该方式联系到Bytom1.0中的合约模板,但合约模板只是给开发者一个参考,开发者需要自己把合约模板部署到链上,而注册合约注册完成后,开发者可以直接调用。
Chia官方矿池协议1.2.0版本或将在7月5日上线:据官方消息,Chia矿池协议进入测试的第二阶段,预计Chia 1.2.0的完整版本最快将在7月5日发布。此外,Chia官方提到:现有的或“OG(原始)”地块不需要重新P盘,并且可以继续进行自我“耕种”,并在矿池协议发布后与新的便携式地块并行进行自我“耕种”。只有创建便携式池图才需要P盘。[2021/7/1 0:20:19]
二、注册合约的优势:一次发行,永久调用
注册合约的优点是只需要往链上发行一次,即可不限次数的使用,并且除了可以自己使用,也可以提供给外部使用。
除此之外,注册合约发行在链上,公开透明,不可更改,杜绝了恶意人员篡改的可能性。
孙宇晨关于JST的推文被Wallstreetbets官方转发:据最新消息,北京时间2月3日22:00,WallStreetBets Reddit社区将波场TRON创始人兼BitTorrent CEO孙宇晨关于JUST的推文转入拥有20万人的Telegram社群。推文内容:“JUST与JustStable、JustLink、JustLend、JustSwap、跨链资产BTCTRON、ETHTRON达成战略合作,再次发力形成优质产业联盟。“WSB社区意见领袖号召社区一起看好JUST的平台币JST,进行大规模买入。[2021/2/3 18:49:13]
对于链的整体运行而言,注册合约在发行后只占用一次的空间,相比于每次都部署新的合约,大大节省了链上存储,从而降低了网络的开销。
Ledger官方钱包软件现已支持TRX:加密货币硬件钱包制造商及开发商Ledger宣布其官方钱包软件现已支持Tron(TRX)。(Cointelegraph)[2020/4/16]
三、Bytom2.0注册合约使用流程
1、创建合约
2、使用Bytom2.0全节点在本地创建一份注册合约
3、构建特殊register-contract交易,将合约、gas费用、输入输出填写完成
4、签名交易并提交
5、客户端将该交易广播到全网
公告 | Algorand官方:Runtime Verification正式验证Algorand区块链永不分叉:Algorand官方博客发文称:为了更好地保证Algorand协议,并使未来的协议设计和验证更容易,Algorand选择通过机器验证来增强数学上的理论证明。为此,Algorand聘请了具有深入验证能力的专业公司通过运行环境验证来验证Algorand共识协议的正确性。我们很高兴地报告了这项工作的一个重要里程碑:使用Coq定理证明,团队已经开发了一个精确的协议数学模型,并正式验证了其安全保证(区块链从不分叉)。在今年早些时候,Algorand用Runtime Verification(运行时验证)来验证其共识协议。Algorand宣布已经完成该工作的第一部分,即协议建模和证明其安全定理。具体来说,我们使用了一个证明助手(Coq)来系统地确定协议在数学上保证不会分叉的假设。[2019/6/26]
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合约的创新,它以的特点,方便合约代码的复用,同时公开透明防篡改,也有效节约了链上存储。
之后,我们还会进一步介绍如何将已注册的合约进行交互调用,敬请期待相关文章。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。