在登链社区挑战100天学习web3——第4天,整合 solana movies 示例代码的实现版本
实现版本
solana movies 是 solana 开发教程上的一个案例。
它有如下实现版本:
- rust-program 用 rust 写的智能合约,负责链上交互
- front-end 用户看到的 dapp 界面,用于创建影评并提交
- anchor-rust-program 用 anchor 框架重写智能合约
- anchor-front-end 用 anchor 重写 dapp 界面
- client 代替 dapp 界面,用 js 发起创建影评并提交
根据原始代码,我重新修改了依赖和部分代码,搞了个能跑起来的汇总版本
虽然大概意思能看懂,但是让我用 rust 重写一遍,我也不会。
rust 智能合约
用 rust 原生写智能合约时,要在 Cargo.toml
标记类型和特征
[features]
no-entrypoint = []
[lib]
crate-type = ["cdylib", "lib"]
基于 anchor 框架的智能合约
重点在于序列化和反序列化,以及排序和分页的偏移量计算。
client 代码
variant
变量是一个标志位,0 表示添加影评,1 表示更新影评。
dapp 前端代码
连接钱包和发送交易有 solana wallet adapter,但是也可以像 client 那样直接调用 @solana/web3.js 的接口,不使用现有的钱包UI和接口。
版权声明
本文仅代表作者观点,不代表区块链技术网立场。
本文系作者授权本站发表,未经许可,不得转载。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。