go for cryptocurrency

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