Move语言开发合约,SUI链WebApp演示

Move是一种为Libra区块链设计的新编程语言,强调安全性和可编程性。它通过独特的货币实现防止账户余额篡改。在SuiChain上,开发了一个去中心化聊天室合约示例,涉及消息发送、费用收取、权限控制和对象共享。WebApp可以调用合约进行交互,如查询历史消息和发送新消息。

简介

Move是一种新的编程语言,为 Libra 区块链提供安全、可编程的基础。 Libra区块链中的帐户作为容器,包含了任意数量的Move资源和Move模块。 提交给 Libra 区块链的每个交易都使用 Move 编写的交易脚本来实现其逻辑。 交易脚本可以通过调用模块声明的过程(procedures)来更新区块链的全局状态。

最大的特色

以太坊, 以及其他几乎所有的系统(银行,支付宝,微信 ...),里面的货币都是数字表示,转账就是一个账户余额加,另一个账户余额减。这就存在很多可利用的漏洞,随意修改数值,造成各种损失。 而 Move 里面,实现了现实中的货币的概念,比如你有一张100元纸币,去买20块钱的东西,那么先要把100元换成50+20+20+10 4张纸币,然后用一张20元的纸币支付。这就是Move里面的货币的实现,每笔余额都是唯一object, 在支付前都需要先拆散成更小的面额。

本DEMO知识点

1. 消息  2. 权限  3. 货币的分割/合并  4. 共享object  5. 转账  6. 前端连接钱包  7. 前端调用合约

开发一个合约

我们选择Sui Chain, 来开发一个去中心化的聊天室合约。类似的Solidity的合约网上有不少。原理都是:用户发送一条消息,合约产出一个Event,WebApp 查询Events 和 监听消息。

定义一个消息,消息必须是 copy drop 的。

    struct MessageSended has copy, drop {
        sender: address,
        message: String,
    }

发送一个消息,只记录发送者address和内容message就好。

public entry fun send_msg(chatfee: &mut C
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值