比特币是一种免费的开源点对点电子现金系统,完全去中心化,不需要中央服务器或可信方。用户持有自己货币的加密密钥,并在P2P网络的帮助下直接与他人进行交易,以检查双重支出。
一、Testnet
testnet
是用于测试的另一种比特币区块链。测试网币与实际的比特币是分开的,并且不应该有任何价值。这使得应用程序开发人员或比特币测试人员可以进行实验,而不必使用真正的比特币,也不必担心破坏比特币主链。
运行bitcoin-qt
或bitcoind
带-testne
t标志的来使用测试网(或在bitcoin.conf
文件中放入testnet=1
)。
测试网已经有三代了。testnet2
只是第一个用不同的创世区块重置的测试网,因为人们开始用测试网币兑换真钱。Testnet3
是当前的测试网络。它是在0.7版本中引入的,引入了第三个起源块,一个新规则,以避免“难度太高,现在太低,事务验证时间太长”的问题,并包含带有边缘情况事务的块,旨在测试实现的兼容性。2015年12月21日,SegNet被用于测试Wuille的隔离证人提案。
一个可用的测试网络
1.1 测试网络命令
bitcoin-qt.exe -testnet -datadir=..\btc-test-data -rpcbind=127.0.0.1:18332
1.2 不同点
- 默认的比特币网络协议监听端口是18333(而不是8333)
- 默认的RPC连接端口是18332(而不是8332)
- 引导使用不同的DNS种子。
-
ADDRESSVERSION
字段的不同值确保没有测试网比特币地址将在生产网络上工作。(0x6F而不是0x00) - 协议消息头字节为0x0B110907(而不是0xF9BEB4D9)
- 测试网上1.0的最低难度等于主网上0.5的难度。这意味着任何测试网难度的主网等效值都是测试网难度的一半。此外,如果在20分钟内没有找到任何块,难度将自动重置为单个块的最小值,之后将恢复到之前的值。
- 一个新的创世块
-
IsStandard()
检查被禁用,因此可以试验非标准事务。
1.3 创世块
测试网使用与主网络不同的创世块。你可以在这里找到它。测试网使用0.7比特币发布的新创世块重置。
1.4 大小
测试网接收的交易比主区块链少,通常规模要小得多。截至2018年1月,磁盘上的数据大小为14gb,包含大约6年的测试网活动数据。下载这些数据需要大约12gb的网络活动,最高传输速率为2mb /s。
1.5 外部链接
https://testnet-faucet.com/btc-testnet/
Forked/Updated testnet-box
1.5.1 Using with docker
Pull the image
docker pull freewil/bitcoin-testnet-box
运行docker容器
docker映像将在后台运行两个比特币节点,并被附加以允许您键入命令。如果您希望能够从容器外部访问这两个JSON-RPC端口,映像还会从节点公开它们。
docker run -t -i -p 19001:19001 -p 19011:19011 freewil/bitcoin-testnet-box
进入容器:
make start
Check the status of the nodes
make getinfo
Creating wallets
bitcoin-cli -datadir=1 createwallet wallet1
bitcoin-cli -datadir=2 createwallet wallet2
Generating blocks
通常在真实的比特币网络上,区块平均每10分钟生成一次。由于这个测试网使用比特币核心(bitcoind)的regtest模式,我们能够使用一个简单的命令立即在专用网络上生成一个区块。
在第一个钱包有余额之前,需要生成至少100个区块
make generate BLOCKS=200
确认第一个钱包上有余额
make getinfo
为第二个钱包生成一个钱包地址
make address2
#bcrt1qpgg8207chnnahky9znjnssd0zgp3cdw9cv2yp9
Sending bitcoins
1.6 区块浏览
Bitcoin Testnet on mempool.space
二、bitcoin-qt 命令使用
2.1 查看帮助
bitcoin-qt.exe -?
-datadir=<dir>
Specify data directory
-blocksdir=<dir>
Specify directory to hold blocks subdirectory for *.dat files (default: <datadir>
)
Options:
-alertnotify=<cmd>
Execute command when a relevant alert is received or we see a really long fork (%s in cmd is replaced by message)
当收到相关警报或我们看到非常长的分叉时执行命令(cmd中的%s被message替换)
2.2 RPC server options
-rpcbind=<addr>[:port]
绑定到给定地址监听JSON-RPC连接。不要将RPC服务器暴露给不受信任的网络,例如公共internet!除非-rpcallowip
也被传递,否则该选项将被忽略。port
是可选的,覆盖-rpcport
。IPv6使用[host]:port
表示。此选项可以指定多次(默认值:127.0.0.1
和::1
,即localhost
)
-rpcport=<port>
Listen for JSON-RPC connections on <port>
(default: 8332, testnet: 18332, signet: 38332, regtest: 18443)
-rpcuser=<user>
Username for JSON-RPC connections文章来源:https://www.toymoban.com/news/detail-802494.html
-rpcpassword=<pw>
Password for JSON-RPC connections文章来源地址https://www.toymoban.com/news/detail-802494.html
到了这里,关于bitcoin 基础(一)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!