https://blog.conformal.com/category/btcd/
https://github.com/btcsuite/btcd/tree/master/docs
https://github.com/btcsuite/btcd
https://github.com/ethereum/go-ethereum
Secp256k1是比特币中使用的ECDSA(椭圆曲线数字签名算法)曲线的参数,其在高效密码学标准(Certicom Research,http://www.secg.org/sec2-v2.pdf)中进行了定义。
比特币工具之btcd
btcd 是一款基于 Go 语言的全节点比特币工具。目前,它通过使用精准的规则(包括 bugs),下载、验证和服务区块链。它同时依靠新发掘出来的区 块来维持交易池,同时依赖没有形成区块的单独交易。在缜密的规则以及检查下,确保了每笔独立交易的安全,并且可以过滤基于矿工需求的交易。
btcd 与 bitcoind 的一个主要区别是 btcd 不包含比特币钱包的功能,其实这是一个精心的设计。这意味着你不能直接通过 btcd 进行比特币交易。然而这项功能可以由正在研发的 btcwallet 与 btcgui 两个项目提供。另一个显著的区别是 btcd 同时支持 HTTP POST(比如 bitcoind)与推荐使用的 Websockets 两种通信协议的请求。并且 btcd 的 RPC 连接默认设置为 TLS-开启。
安装 btcd
若要安装 Windows 版 btcd,请从 GitHub 下载并运行 msi;如果你已经安装了 Go 语言,请在 Linux 中输入以下命令行:
$ go get github.com/conformal/btcd/...
若要更新 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