使用比特币轻量钱包Electrum开发模式
一、选择对应的钱包安装程序
浏览器打开 https://electrum.org/#download 选择windwos版本的安装程序
点击下载,并安装
二、运行Electrum的 testnet版本,创建钱包
提示输入钱包名称
下一步:标准钱包
创建一个新的密语种子
下一步,选择老式地址
记下密语种子
下一步,再输入密语种子
输入密码
下一步,进入主界面
点击“地址”选项卡,里面已经创建了很多收款地址以及找零地址,都是以m开头的地址均为测试地址
显示余额都是零,下一步我们就为其中一个收款地址获取测试比特币
三、获取测试币
- http://bitcoinfaucet.uo1.net/
- https://testnet-faucet.mempool.co/ ( max 0.05\hour - 0.01 per request )
- https://coinfaucet.eu/en/btc-testnet/ ( can request once per 12 hours)
- https://tbtc.bitaps.com/
- http://faucet.thonguyen.net/btc
浏览器打开https://kuttler.eu/en/bitcoin/btc/faucet/
发现使用了google的验证码服务,并且显示不出来图片,需要安装GOOGLE浏览器的一个gooreplacer插件,这个插件的功能用于将网页中的文件地址重定向至其他地址。
浏览器打开https://www.chromefor.com/gooreplacer_v3-10-0/
一个浏览器插件下载网站,下载插件,要选择本网站下载
下载成功后,是一个.crx为后缀的文件
打开google浏览器,选择扩展程序,直接将文件拖入浏览器总,浏览器自动安装插件
成功后,显示如下界面
点击"add"添加一个地址重定向规则
也就是将提供验证码服务的www.google.com/recaptcha地址改为recaptcha.net/recaptcha,这样国内就可以访问了
再打开测试币网站https://kuttler.eu/en/bitcoin/btc/faucet/
已经成功显示出来了,然后输入我们的收款地址,通过验证后,获取
显示成功,回到Electrum界面,显示钱包地址已经有余额了
我们右键点击“地址”,选择“详细信息”,打开这个地址的详细信息界面
可以看到这个地址的公钥,以及交易历史记录,目前只有我们选择获取测试币的这笔记录,右键点击这条记录,选择“详细信息”,显示这笔交易的详细信息
本交易的HASH值、目前经过几个区块确认、被哪个区块打包的、交易的输入和输出
四、转账交易
现在地址列表里复制一个收款地址,然后点击“发送”选项卡进入转账界面
将复制的地址粘贴到支付给文本框里,作为收款人地址,金额随便填写小于你钱包余额的一个数字,费用既手续费,可以设置,手续费越高,那么被矿工及时打包上链的概率就越大,因为收付费是给矿工的
我们点击“预览”
bf3c198243b0d79d10594189daafaef053e9eb97e3a3061adafb2dfebe41c827:19 这个表示,交易的输入是我获取的测试币的那笔交易的ID:和输出的位置
输出里面为收款的地址以及找零的地址和金额。再点击“签名”,给这笔交易用自己的私钥签名,再点击“广播“
显示付款已经发送,并返回这笔交易的HASH,回到地址列表可以看到收款地址已经有了10比特币余额,找零地址转入了剩余的110比特币
回到历史界面,此交易的记录已经显示,点击详细信息
因为是转账到我自己钱包里的一个地址,所以这里显示的发送金额是0
我们还可以右键点击交易记录,选择“使用区块浏览器查看”,可以查看更详细的信息
点击DETAILS
显示了本交易的输入和输出脚本。
可以看到交易输入里有输入脚本,以及上一个交易的输出脚本,这笔交易在全节点的的验证过程为:先执行输入脚本,再执行上一个交易的输出脚本,来验证这笔交易有效性
输入脚本
OP_PUSHBYTES_72 3045022100841e9bcc720fb3e689ee5ed19bda95c531a38e981e3c50c587c6c126acb084940220579fff024189bc73afe5b2ddcf2194685ea1025fba16fd95fa7af155fe90927c01
OP_PUSHBYTES_33 03ffeeb710d76f6bf11c6534749f1407da6805be63697bff919995b7db2c6a8c32
上一个交易输出脚本
OP_DUP
OP_HASH160
OP_PUSHBYTES_20 9c88615abc0525dca340f038a3f3b7b5bfe05fd3
OP_EQUALVERIFY
OP_CHECKSIG
执行过程为:
OP_PUSHBYTES_72 3045022100841e9bcc720fb3e689ee5ed19bda95c531a38e981e3c50c587c6c126acb084940220579fff024189bc73afe5b2ddcf2194685ea1025fba16fd95fa7af155fe90927c01:将用私钥签名的信息入栈
OP_PUSHBYTES_33 03ffeeb710d76f6bf11c6534749f1407da6805be63697bff919995b7db2c6a8c32:将公钥入栈
OP_DUP :复制一个栈顶元素,并入栈
OP_HASH160:弹出栈顶元素,并作hash160运算 H(Public Key),得到账户地址,并入栈
OP_PUSHBYTES_20 9c88615abc0525dca340f038a3f3b7b5bfe05fd3 :将收款账户的公钥HASH既收款账户地址入栈。
OP_EQUALVERIFY:弹出栈顶两个元素,并比较他们是否相等,也就是验证付款方账户是否正确,确实是上一个交易的收款方,此时栈内只剩下了付款方公钥以及付款方私钥的签名
OP_CHECKSIG:弹出栈顶两个元素,用公钥进行验签。整个验证交易过程结束。
转载自:https://www.cnblogs.com/sky-cheng/p/11972128.html