欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

如何在基于Bytom開發(fā)過程中集成IPFS

本文介紹了基于Bytom開發(fā)過程中集成IPFS。

鼓樓網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),鼓樓網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為鼓樓成百上千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)要多少錢,請找那個(gè)售后服務(wù)好的鼓樓做網(wǎng)站的公司定做!

如何在基于Bytom開發(fā)過程中集成IPFS

step1: 搭建bytom節(jié)點(diǎn)

比原相關(guān)資料:https://github.com/Bytom-Community/Bytom_Docs

搭建bytom節(jié)點(diǎn)有很多方式,然后開啟RPC調(diào)用模式。這里推薦用docker搭建比原節(jié)點(diǎn): docker搭建比原節(jié)點(diǎn),同時(shí)開啟RPC訪問模式(即終端交互模式)。

我這里都是在本地操作,所以對應(yīng)的端口是:9888。啟動(dòng)好以后我們在postman里請求測試一下,如下圖:

如何在基于Bytom開發(fā)過程中集成IPFS

說明我們已經(jīng)搭建好了比原節(jié)點(diǎn),并且可以進(jìn)行遠(yuǎn)程調(diào)用。

step2: 搭建IPFS節(jié)點(diǎn)

IPFS中文社區(qū)官網(wǎng):http://ipfser.org

IPFS項(xiàng)目地址:https://github.com/ipfs

各種語言實(shí)現(xiàn)源碼:

GO:https://github.com/ipfs/go-ipfs

JavaScript:https://github.com/ipfs/js-ipfs

Python:https://github.com/ipfs/js-ipfs

C:https://github.com/Agorise/c-ipfs

搭建IPFS節(jié)點(diǎn),這里如果只是本地開發(fā),就只需要搭建本地單節(jié)點(diǎn)就足夠了。接下來我們進(jìn)行具體的搭建。這里可以×××和docker鏡像搭建,具體過程可以參考(因?yàn)樗С侄喾N語言,這里我們以go語言版本為例):

搭建IPFS環(huán)境:https://blog.csdn.net/weixin_41160534/article/details/81358613

搭建好以后一定要開啟端口監(jiān)聽:

 ipfs daemon

如何在基于Bytom開發(fā)過程中集成IPFS

先在我們已經(jīng)搭建好了IPFS的節(jié)點(diǎn),并且開啟API網(wǎng)絡(luò)監(jiān)聽?,F(xiàn)在我們來寫個(gè)測試demo(go語言版本),往網(wǎng)絡(luò)上傳文件。

package main

import (
    "fmt"
   "os"
   "strings"

   shell "github.com/ipfs/go-ipfs-api"
)

func main() {
    // Where your local node is running on localhost:5001
    sh := shell.NewShell("localhost:5001")
   cid, err := sh.Add(strings.NewReader("hello world!"))
   if err != nil {
        fmt.Fprintf(os.Stderr, "error: %s", err)
        os.Exit(1)
   }
   fmt.Println("added %s", cid)

   err = sh.Get("QmdFhFwGHy54T3e8cf1ZmovWbZ2yW4yNhNKsu5dSfcgh7H", "/Users/huangxinglong/Desktop")
   if err != nil {
       fmt.Fprintf(os.Stderr, "error: %s", err)
       os.Exit(1)
   }
}

我們運(yùn)行以后發(fā)現(xiàn)返回Hash,然后我們可以通過Hash把上傳的文件獲取到 "/Users/huangxinglong/Desktop"目錄現(xiàn)在我們就可以進(jìn)行開發(fā)了。

step3: 準(zhǔn)備開發(fā)

搭建好比原節(jié)點(diǎn)和IPFS節(jié)點(diǎn)以后我們就可以根據(jù)自己選擇的開發(fā)語言選擇具體的插件。 IPFS的插件有如下幾種語言的API插件:

如何在基于Bytom開發(fā)過程中集成IPFS

比原鏈的API插件主要有:

如何在基于Bytom開發(fā)過程中集成IPFS

如果選擇的開發(fā)語言不是java,PHP,Node.js。需要我們自己去根據(jù)比原的開發(fā)文檔,然后去集成。

step4: 具體案例

目的:根據(jù)比原上的交易將信息存儲在IPFS中

首先根據(jù)自己選擇的開發(fā)語言去選擇對應(yīng)的API插件,我選擇的是go語言,IPFS有g(shù)o語言的API插件:https://github.com/ipfs/go-ipfs-api。我們在開發(fā)過程中直接根據(jù)比原的開發(fā)文檔去開發(fā),開發(fā)文檔地址:https://docs.bytom.io/

首先我們?nèi)ハ螺dIPFS的go語言API插件放到自己的項(xiàng)目中,然后放到自己的項(xiàng)目vender目錄下面:

如何在基于Bytom開發(fā)過程中集成IPFS

然后我們在項(xiàng)目中連接IPFS節(jié)點(diǎn),同時(shí)上傳一個(gè)文件。然后我們會(huì)發(fā)現(xiàn)返回Hash。 然后我們調(diào)用比原create-key接口和create_account接口。創(chuàng)建key和account,然后用給自己的地址充值BTM。通過api請求3個(gè)接口,先 build → sign → submit,分別對應(yīng)的api是 build-transaction、sign-transaction、submit-transaction。 然后我們就可以創(chuàng)建一筆交易。

存到IPFS上返回的hash是:QmP4UDViHc78un4SyHZV2ooHkSon2EttpamqPqXQ9WHcaV,將返回的hash放在arbitrary對應(yīng)的字段,如下:

build-transaction:

{
 "base_transaction": null,
 "actions": [{
 "account_id": "0KTCS3R5G0A02",
 "amount": 10000000,
 "asset_id": "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
 "type": "spend_account"
 }, {
"account_id": "0KTCS3R5G0A02",
"amount": 100,
"asset_id": "608037f96e8d1613d900c67a0730cc90e2a03311fb7d091588f7eb551a6103cd",
"type": "spend_account"
}, {
"account_id": "0KTCS3R5G0A02",
"amount": 100,
"asset_id":   "608037f96e8d1613d900c67a0730cc90e2a03311fb7d091588f7eb551a6103cd",
"arbitrary": "QmP4UDViHc78un4SyHZV2ooHkSon2EttpamqPqXQ9WHcaV",
"type": "retire"
}],
"ttl": 0,
"time_range": 1521625823

}

然后依次調(diào)用sign-transaction和submit-transaction接口,就可以在交易過程中將信息存儲在IPFS上,如果我們還需要做更復(fù)雜的操作,再根據(jù)比原開發(fā)文檔去做相應(yīng)的操作。

現(xiàn)在我們就可以根據(jù)比原上的交易hash,找到對應(yīng)的IPFS存儲Hash。獲取到在IPFS上存儲的文件。

具體項(xiàng)目過程請參考:https://github.com/BytomFans/bytom-ipfs

文章題目:如何在基于Bytom開發(fā)過程中集成IPFS
瀏覽地址:http://aaarwkj.com/article6/goosog.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司、網(wǎng)站策劃Google、用戶體驗(yàn)、商城網(wǎng)站關(guān)鍵詞優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設(shè)計(jì)公司
亚洲国产精品自拍第一页| 亚洲熟妇av一区二区| 亚洲人妻av一区二区| 日本午夜节目在线观看| 亚洲av乱码一区二区三四五六七| 最新国产av网址大全| 国产交换精品一区二区三区| 欧美十日本亚洲激情视频| 熟妇人妻精品一区二区| 一欧美一区二区三区| 日本 影院 一区 二区| 日本一区二区三区三州免费观看| 亚洲精品乱码国产妇女毛片| 亚洲日本av一区二区| 国产欧美激情一区二区| 欧美 日韩一区二区在线| 一区二区五区日韩国产| 亚洲免费黄色大片网站| 天堂av在线网址观看| 成人午夜激情在线观看| 亚洲午夜福利啪啪啪| 日韩成人免费观看视频| 色六月婷婷六月久久六月| 精品国产美女主播在线| 日本a级免费大片网站| 国产欧美日韩精品av| 91超碰这里只有精品国产| 久久国产精品99亚洲| 日本av二区三区在线| 久久偷拍一区二区三区| 亚洲高清成人综合网站| 国内精日韩欧中文的话| 亚洲精品熟女一区二区三区| 久久精品亚洲一区二区| 欧美颜射一区二区三区| 欧美精品国产欧美精品国产| 欧美另类亚洲综合久青草| 欧美日韩一区二区三区在线| 九九热在线视频观看最新| 欧美日韩精品视频专区| 日韩人妻有码中文字幕|