bp
UTC 时间 2018 年 8 月 28 日 0 时,FIBOS 主网上线成功。新加坡、首尔、东京、加拿大、弗吉尼亚五大节点接入成功,均已成功出块。
主网上线以后引起了强烈反响,那么如何加入 FIBOS 注册成为一个 BP 节点呢?本文将带你详细了解如何成为一个 BP ,进行投票以及领取工资。
配置 Producer 信息启动 FIBOS 节点服务
如何配置 Producer 信息启动 FIBOS 节点服务,在 如何加入到 FIBOS TestNet? 一文中已经作了详细的介绍,本文就不再赘述。只不过需要将测试网的配置信息修改为主网的配置。
使用 Producer 身份发起注册申请
FIBOS 主网部分 RPC 地址如下所示:
调用方法:
//初始化一个 fibos 客户端
var ctx = fibos.contractSync("eosio");
var a = ctx.regproducerSync("prducerName", "publickey", "url", "location");
方法说明:
使用 fibos.js 客户端 调用 eosio 合约发起注册 BP 操作
实例
var FIBOS = require("fibos.js");
var config = {
chainId: "6aa7bd33b6b45192465afa3553dedb531acaaff8928cf64b70bd4c5e49b7ec6a",
priKey: "producer privateKey",
httpEndpoint: "http://ca-rpc.fibos.io:8870",
verbose: false,
}
var fibos = FIBOS({
chainId: config.chainId,
keyProvider: config.priKey,
httpEndpoint: config.httpEndpoint,
verbose: false,
logger: {
log: null,
error: null
}
})
var publicKey = "";//producer publicKey
var producerName = "";//producer name
var ctx = fibos.contractSync("eosio");
var a = ctx.regproducerSync(producerName, publicKey, "http://" + producerName + ".io", 1);
console.log(result);
实例说明:
实例操作中,配置好FIBOS MainNet 和 FIBOS RPC 地址 和 FIBOS 私钥后,便初始化了一个 FIBOS 客户端,通过调用 regproducerSync
方法,传入四个参数:
参数
含义
producerName
区块生产者账户名
publicKey
区块生产者公钥
url
区块生产者宣传网站
location
区块生产者服务器地址
获取投票数成为 Producer
成为 BP 需要获得一定数量的投票数,你可以让别人给你投票,也可以自己给自己投票。投票需要抵押 FO 获取资源,下面教会大家如何抵押资源以及进行投票
抵押资源
调用方法:
//初始化一个 fibos 客户端
var ctx = fibos.contractSync("eosio");
var a = ctx.delegatebwSync({
from: "buyer_name",
receiver: "recevier_name",
stake_net_quantity: "quality",
stake_cpu_quantity: "quality",
transfer: 0
});
方法说明:
使用 delegatebwSync
方法抵押 EOS 获取 NET 和 CPU 资源,用来投票。
实例:
var FIBOS = require("fibos.js");
var config = {
chainId: "6aa7bd33b6b45192465afa3553dedb531acaaff8928cf64b70bd4c5e49b7ec6a",
priKey: "privateKey",
httpEndpoint: "http://ca-rpc.fibos.io:8870",
verbose: false,
}
var fibos = FIBOS({
chainId: config.chainId,
keyProvider: config.priKey,
httpEndpoint: config.httpEndpoint,
verbose: false,
logger: {
log: null,
error: null
}
})
var ctx = fibos.contractSync("eosio");
ctx.delegatebwSync({
from: "fibostest123",
receiver: "fibostest123",
stake_net_quantity: "1.0000 FO",
stake_cpu_quantity: "1.0000 FO",
transfer: 0
});
实例说明:
配置了 FIBOS 主网的 chainId 和 Http 服务地址后,便初始化了一个 FIBOS 客户端,调用 delegatebwSync
方法,抵押 FO 获取资源。
参数
含义
from
抵押资源者
receiver
资源接收者
stake_net_quantity
获取 Net 抵押的 FO 数量
stake_cpu_quantity
获取 Cpu 抵押的 FO 数量
transfer
0:recevier 和 from 相同,表示为自己抵押 ;1:recevier 和 from 不同,表示为他人抵押资源
进行投票
调用方法:
//初始化一个 fibos 客户端
var ctx = fibos.contractSync("eosio");
var a = ctx.voteproducerSync("voter", "proxy", "producers");
方法说明:
使用 voteproducerSync
方法,来给 BP 进行投票
实例:
var FIBOS = require("fibos.js");
var config = {
chainId: "6aa7bd33b6b45192465afa3553dedb531acaaff8928cf64b70bd4c5e49b7ec6a",
priKey: "privateKey",
httpEndpoint: "http://ca-rpc.fibos.io:8870",
verbose: false,
}
var fibos = FIBOS({
chainId: config.chainId,
keyProvider: config.priKey,
httpEndpoint: config.httpEndpoint,
verbose: false,
logger: {
log: null,
error: null
}
})
var ctx = fibos.contractSync("eosio");
var a = ctx.voteproducerSync("fibostest123", "", "fibosbpnode1");
实例说明:
上述代码的含义为 fibostest123
这个用户给 fibosbpnode1
投票 ,中间空着的参数为代理,不填表示直接给 BP 投票,填入则是通过代理给 BP 投票。
领取奖励
成为 BP 并成功出块后,会获得相应的奖励,可以调用下面的接口来领取奖励:
调用方法:
//初始化一个 fibos 客户端
var a = fibos.claimrewardsSync("producer");
方法说明:
使用 claimrewardsSync
方法,来领取 BP 奖励
实例:
var FIBOS = require("fibos.js");
var config = {
chainId: "6aa7bd33b6b45192465afa3553dedb531acaaff8928cf64b70bd4c5e49b7ec6a",
priKey: "producer_privateKey",
httpEndpoint: "http://ca-rpc.fibos.io:8870",
verbose: false,
}
var fibos = FIBOS({
chainId: config.chainId,
keyProvider: config.priKey,
httpEndpoint: config.httpEndpoint,
verbose: false,
logger: {
log: null,
error: null
}
})
var a = fibos.claimrewardsSync("fibosbpnode1")
实例说明:
上述代码的含义为 fibosbpnode1
领取了自己出块获得的奖励!
Last updated