Let's move历险记


Let’s move历险记

本文为参加Let‘s move项目的经历,记录一下走过的路踩过的坑,毕竟是第一次,希望自己能坚持下去。

安装

安装指南,但是我没有brew,所以先得装这个玩意。

理论上用第一行的指令就可以安装,但是不知道为什么我除了ping之外别的都死活连不上github,无奈就采用了一个国内镜像的安装脚本(第二行)。这个脚本应该是很强的路人做的,粗糙但还算好用,如果遇到了什么问题可能可以看这里。我在安装的时候装一半报错了,具体发生了什么不知道,我只能说我先在未sudo的情况下运行了脚本安装了brew,然后sudo运行了一次配置国内镜像软件源和/etc/profile(环境变量)。两次都报错终止,最后重启虚拟机,再运行第三行检查是否安装完成,得到了肯定的回复……

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
/bin/bash -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
brew -v
brew install sui
brew list sui
brew install curl cmake libpq git
cargo install --git https://github.com/movebit/move --branch sui_move_analyzer sui-move-analyzer

此外还有高手,在运行第四行正儿八经的安装sui的时候,brew开始自动更新,等了一会儿没动静,不耐烦了Ctrl+C切一下进程,结果好像是切掉了更新brew的进程,并且顺利地开始了sui的下载……反正挺让人沉默的。最后第五行检查一下你下载好了没有。(事实上等足够长时间的话,总会更新完的,只不过没耐心可以这么干着先,就第一次比较慢)

然后根据这个blog,安装依赖(第六行),安装vscode插件和同名服务(第七行)。

说回第一行的问题,因为后面总是要用到github的,不能老是依赖不全的镜像站,所以还是想找个办法,可以看链接,将两个DNS Server放在默认的前面,这样我就可以避开所谓的DNS污染,连上github了……如果早点设置这个,可能就没那么多事情了

还有llvm这个库好像用brew死活下不下来,就用apt了,反正是个依赖

sudo apt update
sudo apt install llvm
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/llvm-10/lib

而且事情还没完,本来这个llvm库里面应该有个clang的,这会儿找不到了。但是观察报错信息是找不到libclang.so,这是 Clang 编译器的一部分。

sudo apt install clang
which clang
#/usr/bin/clang
#然而,libclang.so 是 clang 的库文件,通常位于 /usr/lib 或 /usr/local/lib 目录下。
find /usr -name "libclang.so*"
#/usr/lib/llvm-14/lib/libclang.so.1
export LIBCLANG_PATH=/usr/lib/llvm-14/lib/
#验证确实能找到libclang
echo $LIBCLANG_PATH

后面一路顺风,虽然一次执行cargo install --git https://github.com/movebit/move --branch sui_move_analyzer sui-move-analyzer需要超过10分钟,但是不报错就还是能玩的。

另外还有一步是在链接看到的,把sui项目fork之后克隆到本地。

配置客户端信息

其实是先开个测试网

move@move-virtual-machine:~/Desktop/move$ sui client addresses 
Config file ["/home/move/.sui/sui_config/client.yaml"] doesn't exist, do you want to connect to a Sui Full node server [y/N]?y
Sui Full node server URL (Defaults to Sui Testnet if not specified) : 
Select key scheme to generate keypair (0 for ed25519, 1 for secp256k1, 2: for secp256r1):
0
Keys saved as Base64 with 33 bytes `flag || privkey` ($BASE64_STR). 
        To see Bech32 format encoding, use `sui keytool export $SUI_ADDRESS` where 
        $SUI_ADDRESS can be found with `sui keytool list`. Or use `sui keytool convert $BASE64_STR`.
Generated new keypair and alias for address with scheme "ed25519" [elegant-axinite: 0x254bd209e00d2ef32ea5640fa629d0c19e971825f0ea1910573e04a348eb4e15]
Secret Recovery Phrase : [abuse essay horror exact decorate owner mimic dwarf purse dolphin inside original]
╭─────────────────┬────────────────────────────────────────────────────────────────────┬────────────────╮
│ alias           │ address                                                            │ active address │
├─────────────────┼────────────────────────────────────────────────────────────────────┼────────────────┤
│ elegant-axinite │ 0x254bd209e00d2ef32ea5640fa629d0c19e971825f0ea1910573e04a348eb4e15 │ *              │
╰─────────────────┴────────────────────────────────────────────────────────────────────┴────────────────╯

我输入的是sui client addresses、y、0.


文章作者: v
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 v !
  目录