https://blog.conformal.com/category/btcd/git
https://github.com/btcsuite/btcd/tree/master/docsgithub
https://github.com/btcsuite/btcdgolang
https://github.com/ethereum/go-ethereum算法
Secp256k1是比特幣中使用的ECDSA(橢圓曲線數字簽名算法)曲線的參數,其在高效密碼學標準(Certicom Research,http://www.secg.org/sec2-v2.pdf)中進行了定義。安全
btcd 是一款基於 Go 語言的全節點比特幣工具。目前,它經過使用精準的規則(包括 bugs),下載、驗證和服務區塊鏈。它同時依靠新發掘出來的區 塊來維持交易池,同時依賴沒有造成區塊的單獨交易。在縝密的規則以及檢查下,確保了每筆獨立交易的安全,而且能夠過濾基於礦工需求的交易。服務器
btcd 與 bitcoind 的一個主要區別是 btcd 不包含比特幣錢包的功能,其實這是一個精心的設計。這意味着你不能直接經過 btcd 進行比特幣交易。然而這項功能能夠由正在研發的 btcwallet 與 btcgui 兩個項目提供。另外一個顯著的區別是 btcd 同時支持 HTTP POST(好比 bitcoind)與推薦使用的 Websockets 兩種通訊協議的請求。而且 btcd 的 RPC 鏈接默認設置爲 TLS-開啓。socket
安裝 btcd工具
若要安裝 Windows 版 btcd,請從 GitHub 下載並運行 msi;若是你已經安裝了 Go 語言,請在 Linux 中輸入如下命令行:區塊鏈
$ go get github.com/conformal/btcd/...ui
若要更新 btcd 到最新版本,請輸入:
$ go get -u -v github.com/conformal/btcd/...
調試 btcd
btcd 擁有許多配置選項,能夠經過如下命令來查看:
$ btcd --help
btcd 預裝了許多好用的功能包,好比 btcctl。它是一種能夠經過 RPC 來控制和查詢的令行工具。Btcd 並無默認開啓了 RPC 服務器,你必須經過如下命令行來配置 RPC 用戶名及密碼:
btcd.conf: [Application Options] rpcuser=myuser
rpcpass=SomeDecentp4ssw0rd
btcctl.conf: [Application Options] rpcuser=myuser
rpcpass=SomeDecentp4ssw0rd
若果你想要重寫配置,請輸入如下命令:
$ btcd -u myuser -P SomeDecentp4ssw0rd
$ btcctl -u myuser -P SomeDecentp4ssw0rd
能夠經過如下命令來查詢一系列的選項:
$ btcctl --help
golang語言實現的 ipfs 協議,據說有 zksnark 零知識驗證的golang實現:
https://github.com/ipfs/go-ipfs
https://github.com/ipfs/specs
https://github.com/ipfs/ipfs
https://github.com/libp2p/go-libp2p a deep dive into the internet's network stack, and plentiful peer-to-peer protocols, Building large scale peer-to-peer systems
https://github.com/libp2p/specs