链上通信协议,到底有什么用

本文探讨了一种链上通信协议的实现,利用智能合约在区块链上存储和检索消息。通过event减少存储成本,并用uint48数组记录blocknumber索引。链上通信的优势包括与合约交互、兼容账户体系、高去中心化和稳定性,但面临高费用、延迟和内容长度限制。适用场景包括合约交互、加密信息传输和验证公开信息。作者认为在特定条件下,如收益高于成本、对即时性要求不高的场景,链上通信具有潜力。
摘要由CSDN通过智能技术生成

原文发布在 https://github.com/33357/smartcontract-apps这是一个面向中文社区,分析市面上智能合约应用的架构与实现的仓库。欢迎关注开源知识项目!

链上通信协议,到底有什么用?

为了做一个链上聊天室,我做了一个链上通信协议。可以看到的是,通过这个协议,我实现了在区块链上发送消息和对消息的索引并获取。

合约源码

应用网址

链上通信的实现

  • 通信内容的存储

    • 为了减少存储数据占用的GAS,该协议使用了event来存储具体的通信内容。因为通信内容不需要和合约进行直接的交互,因此使用event存储是没有任何问题的。

    • 为了方便通讯数据的获取,需要使用一个uint48的数组存储blocknumber的索引列表。

  • 通信内容的获取

    • 获取通讯内容列表时,需要获取到该通讯内容的blocknumber,然后根据blocknumber获取到event上保存的通讯内容列表。
  • 设置数据的存储

    • 设置数据可以保存当前账户的设置信息,同样使用event来存储具体内容,在合约使用hash值存储blocknumber的索引。
  • 设置数据的获取

    • 获取设置数据时,需要获取到该设置数据的blocknumber,然后根据blocknumber获取到event上保存的设置数据。

链上通信的优势与缺点

  • 链上通信的优势

    • 可以对接链上的合约
    • 可以兼容区块链账户体系
    • 去中心化程度强
    • 稳定性高
  • 链上通信的缺点

    • 通信费用高
    • 通信延时高
    • 通信内容存储长度受限

链上通信的使用前景

很多人认为链上通讯会因为它的缺点无法实用,但我认为这并不是不可能的。想要让链上通信实用,需要在满足以下条件的场景内使用:

1.通信带来的收益高于通信成本。

2.对通信的即时性要求不高,但对通信的稳定性要求高。

3.对通信的去中心化程度要求高。

链上通信的使用场景

这里是我的一些设想。

1.在合约交互的同时附带通讯信息(比如转账时可以备注)。

2.发送需要加密的信息(比如发送私钥、助记词)。

3.发送需要验证的公开信息(比如博客、订阅内容)。

为什么要做链上通信协议

我认为,web3社交平台的核心优势不仅在于去中心化,还在于用户的资产和身份是一体的:你有什么Token就证明了你是谁。而依赖于web2的社交关系搭建的web3社交平台,是可疑而且狭隘的。
介于本人无力自己搭建一套通信体系,我就只能依赖于现有的区块链网络搭建一个去中心化的通信协议了。

希望能对未来有所帮助。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值