国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

FIBOS入坑指南——本地開發環境搭建

goji / 3648人閱讀

摘要:如果出錯,需要查看一下本地節點是否正在運行,在瀏覽器輸入后記完至此,本地的開發環境基本搭建完成,如果你想試試在本地環境編寫部署調用智能合約,可以參考官方開發文檔,當然,后續有時間,我也會把在智能合約開發過程中踩到的坑寫寫。

FIBOS是什么?

FIBOS 是一個結合 FIBJS 以及 EOS 的 JavaScript 的運行平臺,它使得 EOS 提供可編程性,并允許使用 JavaScript 編寫智能合約。FIBOS 平臺的出現讓第三代 EOS 智能合約編程變得簡單、快捷!其項目官網為 https://fibos.io/

簡單地說,你可以在 FIBOS 這個平臺上,使用 JS 語言來發行Token、控制區塊節點運行、以及編寫、部署、調用智能合約等操作,相比 EOS 使用 C/C++ 開發部署智能合約,具有更低的開發門檻。

FIBOS 可以運行在 Mac OS X,Linux 和 FreeBSD 系統中,所以要基于 FIBOS 平臺開發區塊鏈應用,首先得確保你的操作系統是這三種之一,并且已經安裝好 node.js 和 npm ,相關的安裝教程自行網上尋找即可。

1、快速安裝穩定版的FIBOS

在終端中執行以下命令即可,版本更新也是使用這條命令。

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

如果安裝成功,在終端輸入 fibos 將出現如下圖。

2、一鍵安裝開發環境

由于區塊鏈的復雜性,不管是 EOS 還是 FIBOS 搭建開發環境都比較繁瑣,不過 FIBOS 官方已經提供了一個一鍵搭建本地開發環境的工具,我們執行以下命令將其從 GitHub 下載下來。

git clone https://github.com/FIBOSIO/fib-testnet.git

接著進入 fib-testnet 文件夾,執行安裝相關的包依賴即可,依次執行以下兩條命令,如下圖。

cd fib-testnet
npm install

可以先嘗試啟動一下,在 fib-testnet 目錄執行以下命令,如果成功,將會開始出塊,如下圖。

fibos index.js dev

大概在40秒后,BP同步節點開始運行,此時執行以下命令,或在瀏覽器輸入 http://127.0.0.1:8801/v1/chain/get_info 獲得當前區塊的信息。在本出塊終端按 Ctrl+C 或新開一個終端中執行 killall fibos 即可關閉 FIBOS 節點運行,當然,我們目前先不關閉著,下面還要用。

curl http://127.0.0.1:8801/v1/chain/get_info

3、創建一些密鑰

在 FIBOS 或 EOS 中,一個有效的賬戶,需要綁定至少一個公鑰,因此,我們在創建開發賬戶之前,需要先創建一些密鑰對。在 fib-testnet 文件夾中,新建一個 init 文件夾,然后再新建一個 generate.js 文件,輸入以下JS代碼。

var FIBOS = require("fibos.js");

var priKey, pubKey;

for (var i=0; i<3; i++) {
    priKey = FIBOS.modules.ecc.randomKeySync();
    pubKey = FIBOS.modules.ecc.privateToPublic(priKey);
    console.notice("
私鑰: "+priKey);
    console.notice("公鑰: "+pubKey+"
");
}

然后打開一個新的終端,進入 fib-testnet/init/ 文件夾中,執行 fibos generate.js ,即可如下圖獲得隨機生成的3組密鑰對。

4、創建一些賬號,并轉入一些 FO Token

有效的 FIBOS 賬戶名和 EOS 類似,都必須是由 12345.abcdefghijklmnopqrstuvwxyz 組成,且長度小于等于12個字符串。其中小于12個字符串的賬戶名由系統的智能合約控制,需要競價獲得。為了方便,我們這里使用12個字符串長度作為賬戶名,分別是 computer1111、computer1112、computer1113,同時分別對應以上三組密鑰對。

進入 fib-testnet/init/ 文件夾中,新建一個 init.js 文件,輸入以下 JS 代碼,用于創建3個賬戶,密鑰對最好自行修改一下。

var config_dev = require("../common/config_dev.json");
var fibossystems = require("../common/fibossystems");
var systems = require("../common/systems");
var config = require("../config.json");
var FIBOS = require("fibos.js");

// 你可以在以下 accounts 這個對象里,增加或修改自己喜歡的FIBOS賬戶,密鑰對最好自行修改一下
var accounts = {
    "computer1111": {
        "priKey": "5K3HGUKEwapH1GFrHjhtgr5sbqkLnFHrZL3ddR6v7FgrYetnQ2a",
        "pubKey": "FO5Xx9fdHUgCEe5huzedVGE2PTewhVsdNCcTg3cNeWN6KPVRF738"
    },
    "computer1112": {
        "priKey": "5JiU8Tzgv87Wx79mrmdkGjbaom1eAqxTQeGSoC63sziQ8eexRA8",
        "pubKey": "FO5Au67waA8UN9xfieK3KPGSX2jRzRRvFNvPhsBvtejGcXbA8UwG"
    },
    "computer1113": {
        "priKey": "5J5i5mtXep7fdHNYWjP9XpoZ2srFgE24r1GTHvTt9sU1BMPqby3",
        "pubKey": "FO6UYUU63Q4rFsbFV8KQLQivYyyUmU45fiCdv1D8nouXicooSsqr"
    }
};

function initClient(_keyProvider, _httpEndpoint, _chainId) {
    return FIBOS({
        chainId: config.chainId,
        keyProvider: _keyProvider || null,
        httpEndpoint: _httpEndpoint || config_dev.httpEndpoint,
        logger: {
            log: null,
            error: null
        }
    });
}

var client, res, ctx;

client = initClient(systems.concat(fibossystems).map(function(d) {
    return d.private_key;
}));

// 創建賬戶
client.transactionSync(tr => {
    for (account in accounts) {
        // 創建賬戶
        tr.newaccount({
            creator: "fibos",
            name: account,
            owner: accounts[account].pubKey,
            active: accounts[account].pubKey
        }, {
            authorization: "fibos"
        });

        // 購買內存
        tr.buyrambytes({
            payer: "fibos",
            receiver: account,
            bytes: 1024 * 1024 * 2
        }, {
            authorization: "fibos"
        });

        // 抵押 FO 獲得 NET、CPU 資源
        tr.delegatebw({
            from: "fibos",
            receiver: account,
            stake_net_quantity: "100.0000 FO",
            stake_cpu_quantity: "100.0000 FO",
            transfer: 1
        }, {
            authorization: "fibos"
        });

        console.notice("created "+account);      
    }

},{
    authorization: "fibos"
});

console.notice("");

// 轉 10000.0000 FO 到一些賬戶中
ctx = client.contractSync("eosio.token");

for (account in accounts) {
    ctx.extransferSync("fibos", account, "10000.0000 FO@eosio", "FO to "+account, {
        authorization: "fibos"
    });   

    console.notice("extransfer 10000.0000 FO@eosio to "+account);
}

console.notice("");

進入 fib-testnet/init/ 文件夾中,執行 fibos init.js ,如下圖,即完成 computer1111、computer1112、computer1113 賬戶的創建,同時每個賬戶擁有 10000 FO 余額了,可以用來做各類轉賬、兌換測試。如果出錯,需要查看一下本地 fibos 節點是否正在運行,在瀏覽器輸入 http://127.0.0.1:8801/v1/chain/get_info

5、后記(完)

至此,本地的 FIBOS 開發環境基本搭建完成,如果你想試試在本地環境編寫、部署、調用智能合約,可以參考 FIBOS 官方開發文檔,當然,后續有時間,我也會把在 FIBOS 智能合約開發過程中踩到的坑寫寫。如果想了解 FIBOS 主網是如何啟動的,啟動順序是怎樣一個過程,節點編程時遇到的問題,那么這個 fib-testnet/lib 文件夾下的內容很值得你去研究。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/99444.html

相關文章

  • Java入坑指南

    摘要:入坑指南是滴,下面是一個最低的入坑還應該有種設計模式應該掌握的。堆棧以幀為單位保存線程的狀態,對堆棧的操作為壓棧和出棧執行字節碼以后,將會產生程序計數器和棧,程序計數器存放將要執行下一條指令的偏移量。 Java入坑指南是滴,下面是一個最低的入坑 還應該有23種設計模式應該掌握的。╮(╯▽╰)╭注意,第一個j是大寫。 Java的特點跨平臺,風格接近C++最重要的api文檔 https:/...

    Rindia 評論0 收藏0
  • FIBOS 簡介

    摘要:簡介是一個結合以及的的運行平臺,它使得提供可編程性,并允許使用編寫智能合約。編寫的合約可以通過打包腳本,壓縮文件極大的降低部署發布成本。的合約使用編寫并且全部開源,方便社區審計,迅速形成共識。 FIBOS 簡介 FIBOS 是一個結合 FIBJS 以及 EOS 的 JavaScript 的運行平臺,它使得 EOS 提供可編程性,并允許使用 JavaScript 編寫智能合約。 Jav...

    Caicloud 評論0 收藏0
  • FIBOS 簡介

    摘要:簡介是一個結合以及的的運行平臺,它使得提供可編程性,并允許使用編寫智能合約。編寫的合約可以通過打包腳本,壓縮文件極大的降低部署發布成本。的合約使用編寫并且全部開源,方便社區審計,迅速形成共識。 FIBOS 簡介 FIBOS 是一個結合 FIBJS 以及 EOS 的 JavaScript 的運行平臺,它使得 EOS 提供可編程性,并允許使用 JavaScript 編寫智能合約。 Jav...

    mykurisu 評論0 收藏0
  • FIBOS快速入門

    摘要:啟動節點環境配置腳本創建文件夾,保存如下代碼至運行開發環境運行結果日志部分如果你看到了以上的消息,說明運行成功,已經開始區塊生產。 搭建一個 FIBOS 開發環境需要安裝 fibos 和 fibos.js。 本章節示例代碼的目錄結構: hello_fibos/ ├── fibos_client │ ├── call.js //調用合約接口腳本文件 │ ├── initCli...

    SimonMa 評論0 收藏0
  • FIBOS快速入門

    摘要:啟動節點環境配置腳本創建文件夾,保存如下代碼至運行開發環境運行結果日志部分如果你看到了以上的消息,說明運行成功,已經開始區塊生產。 搭建一個 FIBOS 開發環境需要安裝 fibos 和 fibos.js。 本章節示例代碼的目錄結構: hello_fibos/ ├── fibos_client │ ├── call.js //調用合約接口腳本文件 │ ├── initCli...

    pkhope 評論0 收藏0

發表評論

0條評論

goji

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<