织梦CMS - 轻松建站从此开始!

我的网站

当前位置: 主页 > 区块链

读懂Arweave: Web 3的关键基础设施_Foresight Ventures_火星财经(5)

时间:2021-12-01 13:38来源:未知 作者:admin 点击:
实例分析: CommunityXYZ 是 Arweave 利润分享社区的仪表板和管理平台. CommunityXYZ 的 智能合约 是 Smartweave 的一个标准实现. 它使用了 TypeScript (相当于拓展版的

  •   实例分析:

  •   CommunityXYZ 是 Arweave 利润分享社区的仪表板和管理平台. CommunityXYZ 的 智能合约 是 Smartweave 的一个标准实现. 它使用了 TypeScript (相当于拓展版的 JavaScript ). 其中通过类似 JSON 的数据结构, 包含了用户的余额, vault, 角色, 投票情况等信息. 同时合约也实现了必需的 Transfer, increaseVault, 检查余额等功能. CommunityXYZ 所实现的 SmartWeave 合约完全可以放到前端页面代码库当中, 这样合约逻辑就可以保存在于前端当中.

  •   缺点与优化:

  •   如果仔细读 Smartweave 的设计思路, 你会发现这样的设计后, TPS 的上限成为了用户浏览器性能以及网络带宽上限. 但是, 将所有交易留给用户执行会出现一个问题, 如果一个合约的交易数量多了以后会不会造成一旦要得到最新状态, 就需要运行很久, 造成阻塞呢?

  •   虽然在现实情况下, 正常但较多数量的交易不会造成很大的用户体验上的困扰 (现代网页中加载和运行的 JavaScript 文件大小其实是本身就很大的, 比如笔者正在使用的 notion.so 官网的 JavaScript 代码就有大约 2MB, 但是也是能够秒开 ), 但是如果遭到 DDoS 攻击, 有人上传非常多恶意交易数据 (比如几个 GB), 那么就肯定会有问题了. 为了解决这个问题, 我们可以在提交交易前, 通过一个另外的 Smartweave 合约过滤交易数据, 接收大量交易数据, 然后批量 rollup 到 AR 上.

  •   同时, 开发者可以参考 Redstone 所实现的 Smartweave 合约. Redstone 通过浏览器多层缓存来减少不必要的交易数据的重复加载与运行, 可以大大优化客户端的合约性能. 或者由可信的用户来生成交易状态快照, 减少交易的运算.

  •   everFinance 的 token-demo (另一种基于存储的共识计算范式)

  •   everFinance 所实现的 token-demo 与 Smartweave 的设计思路基本一致, 同样是基于 Arweave 作为图灵机的纸带这一思想. token-demo 包含了两个应用模块: issuer (代币发行运营程序) 和 detector (代币验钞机程序). 代币发行运营程序, 提供了 Token 的 WEB 端页面, 提供了查询余额, 交易记录, 和提交交易的代币接口. 代币验钞机程序, 运行后自动加载 Arweave 上的数据 (就和我们在 Smartweave 一节中描述的 Lazy-execution 一样), 提供接口查询代币交易情况.

  •   理论上来说, Arweave 的智能合约可以用无数种不同的形式来实现, 因此每个项目可能都会有自己不同的实现, 但大多数项目都使用了 Smartweave. Arweave 实际上是有类似 ERC-20 这样的代币标准的, 指定了各种 API. Arweave 上 Smartweave 的智能合约极大地简化了开发流程, 如果使用 Arweave 进行存储, 项目组可能根本就不需要专门的合约工程师.

    5. PSC (利润分享社区) 解读PSC (利润分享社区) 介绍 (责任编辑:admin)
    织梦二维码生成器
    顶一下
    (0)
    0%
    踩一下
    (0)
    0%
    ------分隔线----------------------------
    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    评价:
    表情:
    用户名: 验证码:点击我更换图片
    栏目列表
    推荐内容