1 / 78
文档名称:

比特币开发指南1-7.docx

格式:docx   大小:412KB   页数:78页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

比特币开发指南1-7.docx

上传人:s0012230 2017/2/28 文件大小:412 KB

下载得到文件列表

比特币开发指南1-7.docx

相关文档

文档介绍

文档介绍:比特币协议和相关规范的细节说明这个开发者指南的目标是在你开发一个比特币周边应用的时候,给你提供足够的信息。为了更好地使用这个指南, 你需要安装最新的 bitcoin 内核的客户端,可以下载 github 里面的源码或者官网的预编译版本。一旦安装完毕, 你将有以下的三个可执行程序: bitcoind, bitcoin-qt, andbitcoin-cli 。如果你启动的时候没带参数,work ( ) 。要在网络上创建交易, 你就要支付比特币。比特币的最小单位是“聪(satoshis) ”, BTC =1 satoshis 。但是,为了开发,work ( ) ,在测试网络中的比特币没有真实世界的价值。测试网络对有些限制有所放松, (如对标准交易的检测),它能测试一些在主网络中被禁止的函数, 如果要使用测试网络 , 启动的时候需要添加参数- 或者添加=1 到你的 Piotr Piasecki ’s faucet ,你可以获得一些免费的测试比特币。测试网络是社区人员免费提供的公共资源,请不要滥用。你可以进一步使用 regression test mode( 回归测试模式) 来加快你的开发,这个模式可以在你的电脑上创建一个本地的测试网络。回归测试模式可以让你通过 RPC 命令快速创建 blocks 、获取测试比特币、即刻在 block chain 上生成交易。? bitcoin-qt 提供了一个完整的 Bitcoin peer ,你可以找到一个敲 RPC 命令的终端? bitcoind 是个更有用的程序: 它提供了一个完整的 peer (节点)你可以使用 RPCs 命令和它交流,正式端口默认 8332 (测试网络默认端口 18332). ? bitcoin-cli 允许你通过命令行发送 RPC 命令给 bitcoind .举个例子, bitcoin-cli help 这三个程序都会从 Bitcoin 程序目录里的 中读取参数设置: ? Windows: %APPDATA%\Bitcoin\ ? OSX: $HOME/Library/Application Support/Bitcoin/ 关于比特币开发的问题最好发送到比特币论坛和 IRC g 的文档的错误和建议,请以提案的方式提交或者发送到 bitcoin-documentation 邮件列表. 在以下的指南里, 某些字符串被缩写成:“[…]”, 表示额外的数据被删除了,以“\”,有链接的文字会变成蓝色。如果你移动到有链接的文字上,在工具提示上会出现一个简介。区块链区块链提供了比特币的公开总账本,这个总账本由所有有时序的已确定的交易组成。这个系统被用于防止双花和修改以前的交易记录, 通过被全球 P2P 网络验证的工作量证明 POW 来保证全球的一致性. 区块链概览上面的插图展示了一个简化版本的区块链. ,然后将哈希值进行配对,然后再进行哈希,再配对,再哈系,直到只剩下一个哈希值, 这个剩下的哈希值就是 Merkle tree(Merkle 树)的 Merkle root( 根节点)。 Merkl ,,交易记录是不会被修改的。交易记录也被链接在一起。比特币钱包软件只记录了比特币的发送接收,但比特币确实在交易间转移。每个标准交易花费的 satoshis 是前一个交易转移过来的币,所以一个交易的输入是上一个交易的输出。单个比特币交易能把比特币发送到不同的输出中, 就像你把比特币一次发送到不同的地址一样,但是一次输出在区块链中只能使用一次所有的后续引用都禁止双花—一种把比特币花两次的尝试。输出不同于比特币地址。你可以在多个交易中使用同一个地址,但是输出只能被使用一次。输出与交易 id(TXIDs) 绑定, txid 就是签名交易的哈希值因为每个交易的输出只能被使用一次, 所有在区块链中的输出能被分类为未使用交易输出 Unspent Transaction Outputs (UTXOs) ,必须使用未使用输出 UTXOs ,不能留在 UTXO 中,否则这个余额会永久的丢失掉,所以输入和输出之间的差值就是交易费,都是对把这个交易打包到区块的矿工的奖励。例如,在上面的插图中,每次交易收到的都比发出的会少 1000 聪,这 10