学习比特币
公司的钱包 App 要在 Ethereum 基础上增加 Bitcoin 支持,记录下学习过程,今天下午之前我对 ₿ 知之甚少,本文假设你已对 Go 和 Rust 有一定了解。
开发者工具
-
rust-bitcoin:rust 库
-
bitcore-lib:JavaScript 库
- 有一些 Example
-
Electrum
-
开源实现
-
公开服务器列表:找到 ElectrumX 的公开服务器
-
与 ElectrumX 交互(取 UTXO 列表)
electrum-cli --server ru.poiuty.com:50002 blockchain.scripthash.listunspent 8b01df4e368ea28f8dc0423bcf7a4923e3a12d307c875e47a0cfbf90b5c39161
-
相关文献
Address
- List of address prefixes
- P2SH
- P2SH-P2WPKH
- Bitcoin address generator:BTC 地址生成
- 从 address 计算 scripthash:用于跟 Electrum 节点交互
- 重用地址 的危害
Transaction
-
Bitcoins the hard way: Using the raw Bitcoin protocol:学习 Bitcoin 底层协议
-
使用 Go 发起比特币交易并签名:这篇文章里面讲了生成一个私钥(钱包),然后派生出地址来,然后 transaction 的格式,还有一些其他的基础知识。
- fee: sum(input.value) -> sum(output.value)