ant-design-web3
ant-design-web3 copied to clipboard
feat: Support Sui
💡 Background and solution
添加 Sui 适配。
内部使用了 Sui 官方提供的 @mysten/dapp-kit 和 @mysten/sui,请求基于 React Query。
一些简单的概念:
- Sui 将它的状态称为 Object,包括资产、合约状态等,所以会看到一些链方法例如 “getObject” 等。
- Sui 使用 Move 编写智能合约,所以相对应的有个 moveObject 的概念,所以有时候会遇到单词
move
,要注意它不是“移动”的意思。 - 编译后的合约代码称为 Package;将数据、资源等称为 moveObject(例如 NFT、代币等)。
- ZAN 已支持 Sui 的 mainnet 和 testnet。
- Sui 官方实现了 Wallet Standard 标准,一些常见钱包都支持(例如 Sui Wallet 和 Suiet);
- 账户下可以有多种 Coin(这里有一份 Coin List)。所以它除了有 getBalance 外,还有 getBalances 接口(此 PR 使用了 getBalance,获取的是默认的 Sui Coin)
- 官网提供了从 faucet 获取代币的方法 Get Sui Tokens。如果安装了 Sui Wallet 钱包,可以在钱包中一键获取。
一些跟此 PR 无关但比较有意思的概念 😄️:
- Sui 的合约是可升级的
- Sui 的 NFT 是可组合的。例如一个游戏角色可以装备某些武器,武器作为它的属性。当然武器也可以有自己的属性,可以添加装饰、附魔 Buff 等。
Todo List:
- [x] 测试用例
- [x] Demo
- [x] 文档
- [x] Readme