引言
除了在本地进行move合约开发,sui还提供了使用remix IDE在线编译器和WELLDONE Code进行开发,无需配置本地环境,十分便利。
Remix是一种用于以太坊(Ethereum)智能合约开发的集成开发环境(IDE)。 Remix IDE 旨在提供一个方便的界面,以便开发人员能够创建、调试和部署智能合约。这对新手以及有solidity学习经验的开发者十分友好。
添加WELLDONE Code扩展
为浏览器添加WELLDONE Code扩展
https://chromewebstore.google.com/detail/welldone-wallet-for-multi/bmkakpenjmcpfhhjadflneinmhboecjf?hl=zh-CN&utm_source=ext_sidebar
添加后,我们创建一个新钱包
选择sui
导入已有账户的私钥
如何从Sui Wallet中获得自己的私钥?步骤如下
- 点击右上角的设置
- 选择Security
- 最下面选择Show The PrivateKey
之后我们就可以在WELLDONE Code导入sui账号
添加Remix插件
打开remix,下载插件,后点击插件
选择sui
连接WELLDONE Code
- 可能会发现无法唤起WELLDONE Code
- 我们需要点击WELLDONE Code的setting 将Developer勾上
之后我们就可以正常连接WELLDONE Code进行开发了
hello_world项目部署
- 首先,创建一个空的workspace
- 初始化项目,点击New Project后的Create
- 配置move.toml,在source中添加hello_world.move
hello_world.move
module hello_world::hello_world {
use std::string;
use sui::object::{Self, UID};
use sui::transfer;
use sui::tx_context::{Self, TxContext};
/// An object that contains an arbitrary string
struct HelloWorldObject has key, store {
id: UID,
/// A string contained in the object
text: string::String
}
public entry fun mint(ctx: &mut TxContext) {
let object = HelloWorldObject {
id: object::new(ctx),
text: string::utf8(b"Hello World!")
};
transfer::public_transfer(object, tx_context::sender(ctx));
}
}
move.toml
[package]
name = "hello_world"
version = "0.0.1"
[dependencies]
Sui = { git = "https://github.com/MystenLabs/sui.git", subdir = "crates/sui-framework/packages/sui-framework", rev = "framework/devnet" }
[addresses]
hello_world = "0x0"
sui = "0x2"
- 回到插件界面点击编译项目
build成功
- 之后可以点击deploy部署 成功后左侧会有合约相关信息
- 调用mint函数生成一个HelloWorldObject,交易成功后在终端输出获得交易的具体信息
- 可以在区块链浏览器上查询到创建的obj
综上,我们已经成功通过remix发布了一个hello_world合约,并调用了mint函数创建了一个HelloWorldObject。
相关链接:https://blog.csdn.net/Sui_Network/article/details/131077269
Move语言学习交流QQ群: 79489587
Sui官方中文开发者电报群: https://t.me/sui_dev_cn