IPFS安裝編譯

來源:互聯網
上載者:User
  • filecoin白皮書
  • 官網:ipfs.io

[TOC]

安裝

參考:

  • IPFS Alpha Demo
  • go-ipfs#build-from-source
  • 安裝Go IPFS

如果沒有Go環境,首先需要安裝Go環境:

brew install go

配置Go環境變數:
執行sudo vi /etc/profile加入

#go configexport PATH=$PATH:/usr/local/go/binexport PATH=$PATH:$GOPATH/bin

執行wq! 強制儲存退出。

下載並編譯IPFS

go get -u -d github.com/ipfs/go-ipfscd $GOPATH/src/github.com/ipfs/go-ipfsmake install

出現error

ERROR: from shell.Get(): Post https://ipfs.io/api/v0/get?arg=QmaPbCnUMBohSGo3KnxEa2bHqyJVVeEEcwtqJAYxerieBo&encoding=json&stream-channels=true: dial tcp 173.252.102.16:443: getsockopt: operation timed out

install from source #4851

️:如果gx (用於依賴關係管理)或其任何依賴關係崩潰,go get則此進程可能會中斷,因為將始終選擇每個依賴關係的最新代碼,通常會導致API不匹配。

先行編譯安裝包安裝IPFS

上述這個問題暫時還沒解決,gx依賴以及中國網關的問題。那麼通過安裝包的方式來安裝運行IPFS:

  1. 下載go-ipfs,Mac OS X 請下載Darwin amd64,Ubuntu 請下載Linux amd64
  2. 使用tar xvfz go-ipfs_v0.4.14_darwin-amd64.tar.gz解壓安裝包。
  3. 運行項目,通過ipfs init在本機電腦建立一個IPFS節點。
  4. 測試一下,使用ipfs id查看節點id。

    {"ID": "QmZXXApnUUTD75bph88eNii3Sc97fiumTX7AMBv5CKHGdf","PublicKey": "CAASpgIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCmeja+Xls57HMzJdpyk2uutamqNf0zwKUIde6AmK/qtneFSszEr7fwPZ6lE2KUxlaIdDelBpYLWKgwnJA89vWVDcFElXbgmLEwjlWeAnjR3EWLSQcmVGifB7jKrSG0VNeZdRv4Pj/i75zSdxAujZ0EwY6TpN6ZNaXX3BI/8owLlZAVq2wAKjFhjOtSfdGd5Tm61tN4q0EfPPHnU/kC9kr+HQkJm9h71pIL2Uu6LhoRQNpx/ZTnTXm6L0pxzEQSzal7lYsBQGiBKzzaL7PhZtZ6kY6atALRiiFj7ID8rbE03LrOQw4xoFjo3UBardTy1gQVflyqsysCi1DIStzn8qKNAgMBAAE=","Addresses": null,"AgentVersion": "go-ipfs/0.4.14/","ProtocolVersion": "ipfs/0.1.0"}
  5. 使用ipfs daemon啟動節點伺服器
  6. 建立終端執行命令ipfs cat /ipfs/QmYwAPJzv5CZsnA625s3Xf2nemtYgPpHdWEz79ojWnPbdG/readme
  7. 瀏覽器輸入網址http://localhost:5001/webui出現一個漂亮的UI介面。

更新

IPFS有一個可以通過訪問的更新工具ipfs update。該工具並不與IPFS一起安裝,以保持獨立於主程式碼程式庫的邏輯。要安裝ipfs update,請在此處下載。

使用IPFS下載IPFS構建

列出go-ipfs的可用版本:

ipfs cat /ipns/dist.ipfs.io/go-ipfs/versions

然後,查看以前命令($ VERSION)中版本的可用版本:

ipfs ls /ipns/dist.ipfs.io/go-ipfs/$VERSION

下載一個版本的給定版本:

ipfs get /ipns/dist.ipfs.io/go-ipfs/$VERSION/go-ipfs_$VERSION_darwin-386.tar.gz # darwin 32-bit buildipfs get /ipns/dist.ipfs.io/go-ipfs/$VERSION/go-ipfs_$VERSION_darwin-amd64.tar.gz # darwin 64-bit buildipfs get /ipns/dist.ipfs.io/go-ipfs/$VERSION/go-ipfs_$VERSION_freebsd-amd64.tar.gz # freebsd 64-bit buildipfs get /ipns/dist.ipfs.io/go-ipfs/$VERSION/go-ipfs_$VERSION_linux-386.tar.gz # linux 32-bit buildipfs get /ipns/dist.ipfs.io/go-ipfs/$VERSION/go-ipfs_$VERSION_linux-amd64.tar.gz # linux 64-bit buildipfs get /ipns/dist.ipfs.io/go-ipfs/$VERSION/go-ipfs_$VERSION_linux-arm.tar.gz # linux arm buildipfs get /ipns/dist.ipfs.io/go-ipfs/$VERSION/go-ipfs_$VERSION_windows-amd64.zip # windows 64-bit build

用法

  ipfs - Global p2p merkle-dag filesystem.  ipfs [<flags>] <command> [<arg>] ...SUBCOMMANDS  BASIC COMMANDS    init          Initialize ipfs local configuration     # 初始化ipfs本地配置    add <path>    Add a file to ipfs      # 向ipfs添加檔案    cat <ref>     Show ipfs object data      # 顯示ipfs object資料    get <ref>     Download ipfs objects      # 下載ipfs objects    ls <ref>      List links from an object     # 一個對象連結的列表    refs <ref>    List hashes of links from an object   # 一個對象連結的雜湊列表  DATA STRUCTURE COMMANDS    block         Interact with raw blocks in the datastore     # 與資料存放區中的原始塊互動    object        Interact with raw dag nodes      # 與原始dag節點互動    files         Interact with objects as if they were a unix filesystem      # 與objects互動,就好像它們是unix檔案系統一樣  ADVANCED COMMANDS    daemon        Start a long-running daemon process      # 啟動一個長時間啟動並執行守護進程    mount         Mount an ipfs read-only mountpoint      # 安裝一個ipfs唯讀掛載點    resolve       Resolve any type of name          # 解析任何類型的名稱    name          Publish or resolve IPNS names      # 發布或解析IPNS名稱    dns           Resolve DNS links       # 解析DNS連結    pin           Pin objects to local storage      # 將object定位到本機存放區    repo          Manipulate an IPFS repository      # 操作一個ipfs倉庫  NETWORK COMMANDS    id            Show info about ipfs peers        # 顯示ipfs 節點的資訊    bootstrap     Add or remove bootstrap peers       # 添加或刪除bootstrap節點    swarm         Manage connections to the p2p network      # 管理與p2p網路的串連    dht           Query the DHT for values or peers      # 為values或者節點查詢DHT    ping          Measure the latency of a connection     # 測量串連的延遲    diag          Print diagnostics     # 列印診斷資訊  TOOL COMMANDS    config        Manage configuration     # 管理配置    version       Show ipfs version information    # 顯示ipfs版本資訊    update        Download and apply go-ipfs updates     # 下載並應用go-ipfs更新     commands      List all available commands      # 所有可用的命令列表  Use 'ipfs <command> --help' to learn more about each command.  ipfs uses a repository in the local file system. By default, the repo is located  at ~/.ipfs. To change the repo location, set the $IPFS_PATH environment variable:    export IPFS_PATH=/path/to/ipfsrepo

另見:ipfs getting-started

要開始使用IPFS,您必須首先在您的系統上初始化IPFS的設定檔,這是通過ipfs init。查看ipfs init --help它所需的選擇性參數的資訊。初始化完成後,就可以使用ipfs mountipfs add或其他任何命令來探索!

本地'ipfs working'基本使用:

echo "hello world" > helloipfs add hello# This should output a hash string that looks something like:# QmT78zSuBmuS4z925WZfrqQ1qHaJ56DQaTfyMUF7F8ff5oipfs cat <that hash>

使用Docker

IPFS的docker鏡像位於hub.docker.com/r/ipfs/go-ipfs。要在容器內部顯示檔案,您需要使用-v docker選項安裝主機目錄。選擇一個您想用來從IPFS匯入/匯出檔案的目錄。您還應該選擇一個目錄來儲存IPFS檔案,這些檔案在重新啟動容器時將保留。

export ipfs_staging=</absolute/path/to/somewhere/>export ipfs_data=</absolute/path/to/somewhere_else/>

啟動運行ipfs的容器並公開連接埠4001,50018080

docker run -d --name ipfs_host -v $ipfs_staging:/export -v $ipfs_data:/data/ipfs -p 4001:4001 -p 127.0.0.1:8080:8080 -p 127.0.0.1:5001:5001 ipfs/go-ipfs:latest

觀看ipfs日誌:

docker logs -f ipfs_host

等待ipfs啟動。看到以下內容時,ipfs正在運行:

Gateway (readonly) serverlistening on /ip4/0.0.0.0/tcp/8080

現在可以停止觀看日誌。
運行ipfs命令:

docker exec ipfs_host ipfs <args...>

例如:串連到節點

docker exec ipfs_host ipfs swarm peers

添加檔案:

cp -r <something> $ipfs_stagingdocker exec ipfs_host ipfs add -r /export/<something>

停止正在啟動並執行容器:

docker stop ipfs_host

️:如果您之前已經安裝過IPFS,並且遇到了使新版本工作的問題,請嘗試刪除(或備份其他位置)IPFS配置目錄(預設為〜/ .ipfs)並重新運行ipfs init。這會將設定檔重新初始化為其預設值,並清除任何錯誤條目的本機資料儲存區。

擴充連結

  • IPFS 入門筆記
  • IPFS 筆記和教學
  • 如何使用星際檔案傳輸網路(IPFS)搭建區塊鏈服務
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.