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