Cover photo

中文圈首发:Fuel合约部署教程

首先,

1.需要准备一个Ubuntu的服务器或者虚拟机来进行,服务器随便是什么配置都行,最低档的都可以操作。

2.服务器需要有一个SSH登陆工具,如果你有虚拟机就不用这一步了,我自己是用的VPS+SSH登陆的方式来进行,因为我是Windows系统,我推荐用Termius这个工具来进行ssh登陆。

3.需要准备Fuel钱包并领水,记得把助记词备份好,一会儿要用。

钱包下载(现在解压包然后谷歌浏览器选开发者模式,在扩展程序中打开解压的文件夹):

https://wallet.fuel.network/docs/install/

领水地址:

https://faucet-beta-3.fuel.network/

SSH登录工具Termius下载链接(这个工具复制和粘贴都需要按住Ctrl+shift+C或者Ctrl+shift+V):

https://termius.com/free-ssh-client-for-windows

准备好这些工具后,我们登陆Termius:

post image

输入完成之后,双击Hosts里面的项目,就可以正式连接了(如果是新配置的服务器,需要等待一会儿才能链接):

post image

如果出现以下界面,那我们就成功连接上服务器了:

post image

一.下面我们开始对服务器进行一些必要的升级:

1.更新VPS,输入以下代码

post image

2.更新服务器,输入以下代码:

sudo apt update
post image

3.再输入以下代码,如果中间出现询问Y/N,就输入Y:

sudo apt-get install screen

sudo apt-get install git-all
post image

如果中间出现粉红色的界面,直接按回车跳过:

post image

二、开始安装Fuel的语言工具Rust。

1.安装rust工具,输入以下代码,中间出现选项,输入1:

curl --proto '=https' --tlsv1.3 https://sh.rustup.rs -sSf | sh
post image

2.配置必要文件,输入以下代码:

source "$HOME/.cargo/env"
post image

3.更新Rust工具,输入以下代码:

rustup update stable

rustup default stable
post image

4.安装Fuel脚本,输入以下代码,并在Y/N选项中,输入Y确认:

curl --proto '=https' --tlsv1.2 -sSf https://install.fuel.network/fuelup-init.sh | sh
post image

5.配置PATH,输入以下代码:

export PATH="$HOME/.fuelup/bin:$PATH"

source /root/.bashrc
post image

6.现在我们输入以下代码看看fuel是否正确安装了,如果跟我一样就是正确了:

post image

7.创建fuel合约文件夹,输入以下代码:

mkdir fuel-project

cd fuel-project
post image

8.创建合约模版,输入以下代码:

forc new counter-contract
post image

9.安装VIM编辑合约,输入以下代码:

post image

10.继续输入以下代码后会显示:

vim counter-contract/src/main.sw
post image

11.把上面的合约替换为下面的合约:

注意:

按键盘上的 i 键,将VIM切换为插入模式

post image

按键盘上的 w键,将VIM切换为选择模式

删除所有的合约。

然后复制下面合约,把上面合约的替换掉:

contract;

storage {
    counter: u64 = 0,
}

abi Counter {
    #[storage(read, write)]
    fn increment();

    #[storage(read)]
    fn count() -> u64;
}

impl Counter for Contract {
    #[storage(read)]
    fn count() -> u64 {
        storage.counter
    }

    #[storage(read, write)]
    fn increment() {
        storage.counter = storage.counter + 1;
    }
}

这是全部删除后,重新输入的合约模版:

post image

然后按 ESC 键退出插入模式

post image

然后按键盘上的 shift+ :这个键(L旁边的键),输入w之后,按回车保存更改。

post image

然后再按键盘上的 shift + :这个键,输入q之后退出:

post image

然后我们就正常回到服务器页面了:

post image

12.开始编译合约,输入以下代码:

cd counter-contract 

forc build
post image

13.接着导入我们Fuel的钱包了,需要准备好之前备份的助记词,而且钱包里至少有水,接着输入导入钱包的代码:

forc-wallet import 

助记词复制进去是不会显示的,所以粘贴一次等待一下就可以按回车了:

post image

接着创建一个密码,也不会显示,所以要手动输入下:

post image

然后会让你确认一下密码,就再次输入一次:

post image

14.开始部署合约,输入以下代码:

forc deploy --node-url beta-3.fuel.network/graphql --gas-price 1 --random-salt

输入完成之后,显示以下界面,然后我们去Fuel钱包复制钱包地址:

post image

这是我的钱包地址,Feul开头的,在Fuel钱包里能够找到,然后按回车:

post image

之后会显示让你签名,这一步很重要了:

post image

把这个sign的ID复制下来,然后我们重新打开一个Termius的窗口:

post image

复制后的窗口是这样的:

post image

我们在新窗口输入以下代码,需要tx-id后面的替换为你刚刚复制的sign签名那个ID:

forc wallet sign --account 0 tx-id XXXXXXXXXXXXXXXXXX

这个XXXXX就是你刚刚另外一个窗口复制的那个Sign id的签名,比如我的是这样的:

forc wallet sign --account 0 tx-id a7381b503ded69ce8912282075effb50ac70293509cfb563f15b672c6f664bf1

post image

按回车后输入密码:

post image

然后就得到了签名的新id:

post image

然后我们把这个新的id复制下来,返回原来的那个窗口粘贴下来:

post image

然后再按回车进行签名,我们就成功部署了合约:

post image

只要看到那个deployed in block 后面的就是成功部署了合约了。

15.查看合约是否部署成功:

找到之前sign的那个id:

post image

然后打开Fuel的区块链浏览器:

https://fuellabs.github.io/block-explorer-v2/beta-3/#/

要在sign的id前面加一个:0x

post image

然后查询就可以看到,我们成功部署了:

post image

做到这里你就成功完成了Fuel的合约部署了,是不是很简单呢?

你也可以在Fuel钱包的交易历史记录里,看到部署的合约记录:

post image

下面是我的推特,记得关注:

https://twitter.com/WilliamHill888