我以太坊来发 Fibos 的教程啦!

我第一个教程居然是 EOS 的有点蛋疼。。

说明

最近响马叔的 Fibos 炒的火的一笔,作为头号韭菜肯定要梭哈一把 Fo 来让自己回点血,但是 Fo 的兑换门槛也不低,还要配置 Fibos 环境写好代码才能做兑换。本韭菜就用通俗易懂加代码的方式来说明一下兑换流程, 如果觉得麻烦看不懂或者想投喂我的可以直接联系我代购 hhhhhh。

注:本教程在 MacOS 系统下操作,Windows 用户需另行操作

环境搭建

首先我们需要装好 Fibos 环境和 Node 环境,打开 Mac 下的命令行,已经装好 Homebrew 的朋友们可以直接运行该命令
brew install nvm

使用该命令装好 nvm,nvm 是一个 Node 的版本管理器,使用 nvm 可以方便地进行 Node 版本的管理,安装好 nvm 后在命令行运行该命令

nvm install 8.11.1

以上两个步骤确保了安装在机器上的 Node 版本为稳定版的 8.11.1,当然你也可以直接去 Node 官网下载 Node 安装包安装或者直接用 Homebrew 安装指定版本的 Node(我才不会说其实我忘了怎么用 Homebrew 安装指定版本

安装好了 Node 后我们可以开始安装 Fibos 环境了,在命令行中运行以下命令

curl -s https://fibos.io/download/installer.sh |sh

该命令将 Fibos 安装并且在 bash 中添加 fibos 命令。没有装 curl 的朋友们可能在上一步会碰到命令行报错 Command not found: curl 这时候直接用 brew 安装一下 curl 就行了

brew install curl

可以输入以下命令确认 Fibos 是否安装成功

fibos --version

如果命令行返回版本号就说明安装成功,全局环境搭建正式结束

开始创建 Fibos 账户

我们有了 Fibos 环境后,就可以开始创建一个 Fibos 账户了。在创建之前,你有一些必须知道的知识:
  1. Fibos 是一条跑在 EOS 上的侧链,与主链的账号体系相互独立
  2. EOS 主链创建账户是需要抵押 EOS 来购买所需的 RAM 和 CPU 资源,也就是所谓的需要开户手续费
  3. EOS 像 BTC 和 ETH 一样由一个私钥来控制你的账户,所以请保管好你的私钥
  4. EOS 是可以自定义账号地址的,像游戏一样你可以指定一个用户名,转账时可以填写你的用户名作为地址,不用像 BTC 和 ETH 一样填一个长串难以记忆的地址。

准备工作

有了以上知识,我们开始创建一个 Fibos 账户。在命令行输入以下命令来创建一个 Fibos 目录(当然也可以在 Finder 中手动建文件夹,不过这样肥肠不 pro)
mkdir fibos_fo

该命令表示创建了一个叫做 fibos_fo 的目录,当然你想把 fibos_fo 改成别的例如 fxxk_eos 也没问题,接着需要在命令行中进入这个目录,运行以下命令

cd fibos_fo

进入该目录后,运行以下命令,将必要的配置文件导入该目录

fibos --init

紧接着安装该目录 fibos 环境

npm install fibos.js

本地环境搭建完成,现在可以开始进行 js 文件的编写了

创建账号

新建一个 create_account.js 的文件,然后将如下代码复制进文件后替换 account 处的内容, 注意用户名一定是一个 12 位的小写英文与数字组合,并且数字只能是 1-5
const FIBOS = require('fibos.js');
const http = require('http');

const prikey = FIBOS.modules.ecc.randomKeySync(); // 生成私钥
const pubkey = FIBOS.modules.ecc.privateToPublic(prikey); // 使用私钥生成公钥

console.log('private:', prikey); // 在命令行中显示出私钥,请妥善保存,私钥的重要性我就不重复强调了
console.log('public:', pubkey); // 在命令行中显示出公钥,请妥善保存

let httpClient = new http.Client(); // 创建一个 http client
const httpServerHost = 'http://tunnel.fibos.io/1.0/app/token/create';

// 下一行是用户名请牢记,这是你的收款地址
const account = '删掉这段替换成自己需要的用户名,注意一定是一个12位的小写英文与数字组合,并且数字只能是1-5'; 

let rep = httpClient.post(httpServerHost, {
    json: {
        account: account,
        pubkey: pubkey
    }
}).json()

console.log(rep);

保存完毕后,在命令行中输入以下命令

fibos create_account.js

当命令行中显示出如下信息则表示成功,同时请妥善保存如下信息显示的 private 后显示的私钥以及 public 后显示的公钥

private: xxxxxxxxxx
public: xxxxxxxxx
{
    "message": "success",
    "pubkey": "xxxxxxxxxxxxxxxxxxxxxxxxxxx",
    "account": "fibosmainnet"
}

至此账号创建成功。

查看余额

刚刚我们已经创建好了一个 Fibos 账号,现在我们可以查看一下我们空空如也的 Fibos 账号。

新建一个 balance.js 文件,然后将如下代码复制进文件里,注意要替换倒数第 4 行中的用户名。

const FIBOS = require('fibos.js');

const config = {
    chainid: "6aa7bd33b6b45192465afa3553dedb531acaaff8928cf64b70bd4c5e49b7ec6a",
    priKey: "", // 查询余额无需私钥签名,可不填
    httpEndpoint: "http://sl-rpc.fibos.io:8870", // 该地址为首尔节点,如果挂了可以去官网查询其他节点地址来替换
    verbose: false
};

// 以下构建了一个 fibos client 然后调用 getTableRowsSync 方法查询余额
let fibos_client = FIBOS({
    chainId: config.chainId,
    keyProvider: config.priKey,
    httpEndpoint: config.httpEndpoint,
    verbose: false,
    logger: {
        log: null,
        error: null
    }
});

// 调用 getTableRowsSync 方法查询余额
let rs = fibos_client.getTableRowsSync(true, "eosio.token", "此处替换为上一步自己设置的用户名", "accounts");

// 输出方法返回结果在命令行
console.log(rs);

文件保存完毕后在命令行中执行如下命令

fibos balance.js

紧接着就能看到命令行中输出结果了

这是我自己的账号,只买了一个 EOS (其实是我剩下的 EOS 全在今天下午服务挂的时候充进来然后莫得了 QAQ)

至此查询余额和验证账号就完成啦!

兑换 FO

终于到了激动人心的兑换步骤,在兑换之前,需要说明几点:

  1. 因为 Fibos 是一个 EOS 的侧链,所以将主链上 EOS 转账进来是需要有一个类似代理的步骤的,将 EOS 转入 Fibos 在主链上的账号,并且在备注中填写你在侧链上的用户名,这样 Fibos 就会往你在 Fibos 侧链上的账号打入一样数值的 EOS
  2. 兑换有两个步骤,第一步是将主链上的 EOS 转入你在侧链账号中,第二步是将你在侧链上的 EOS 兑换为 FO
  3. 希望大伙成功换到 FO 以后给我打钱谢谢

将 EOS 转入 Fibos 上的账号

此时你需要一个有转账备注功能的 EOS 钱包进行转账,或者用 EOS 私钥自己构造转账请求,这里不详细提自己构造请求,有需要的朋友请自行前往此处查看。

准备一个带有转账备注功能的钱包,币安的账号也行(强烈不推荐,因为如果服务器挂了充值失败以后响马叔是会把 EOS 原路退回的,这样等于 EOS 直接送给币安了)(我的 EOS 就是这么丢的)
在转账地址中填入 fiboscouncil 在转账备注中填入刚刚注册的用户名(填 linzhanjie51 也行,就算是给我打赏了)
注意:备注很重要!!!如果不填备注你的 EOS 就莫得了!!!备注填的不是你刚刚注册的用户名也莫得了!!!

转账成功后等待区块确认后,重复上面的查询余额步骤,就能看到你的账户里你刚刚充值的 EOS 到账了。

将账户中的 EOS 兑换为 FO

新建一个 exchange.js 文件,并将以下代码复制进该文件,并在第四行填写你自己的密钥,倒数第五行填写自己的用户名并修改要兑换的 EOS 数量,倒数第四行修改自己的用户名
const FIBOS = require("fibos.js");

const config = {
    chainId: "6aa7bd33b6b45192465afa3553dedb531acaaff8928cf64b70bd4c5e49b7ec6a", // 链id,别动它谢谢
    priKey: "填写你自己的密钥", // 你自己的密钥
    httpEndpoint: "http://sl-rpc.fibos.io:8870", //请求节点,如果这个挂了就去官网找列表换一个
    verbose: false, //不知道干啥的,我还没仔细看文档,反正别动它谢谢
};

let fibos_client = FIBOS({
    chainId: config.chainId,
    keyProvider: config.priKey,
    httpEndpoint: config.httpEndpoint,
    verbose: false,
    logger: {
        log: null,
        error: null
    }
})

let ctx = fibos_client.contractSync("eosio.token"); 
let result = ctx.exchangeSync("此处填写自己的用户名", 1 EOS@eosio, 0.0000 FO@eosio, exchange EOS to FO, {
    authorization: "此处填写你自己的用户名"
});

console.log(result);

然后在命令行中输入以下命令

fibos exchange.js

然后重复上面查看余额的步骤确认是否兑换成功

附言

没啥好说的,基本上步骤就是这些了,有问题可以在楼下留言,如果要卖掉就是把 exchange.js 倒数第五行的 EOS@ eosio 和 FO@ eosio 的位置对调一下然后改一下要卖出的 FO 数量就行, 如果实在觉得麻烦提供代购服务,代购费 2%,有需要的楼下留联系方式。恳请觉得本文有用的朋友们给我打点钱吧我真的好穷啊 55555555

- - 如果本文哪里写的有误请在楼下指出,我会给予一定打赏,多谢

5 打赏
打赏 10 积分后可见