使用比特币轻量钱包Electrum

一、选择对应的钱包安装程序

浏览器打开 https://electrum.org/#download 选择windwos版本的安装程序

 点击下载,并安装

二、运行Electrum的 testnet版本,创建钱包

提示输入钱包名称

 下一步:标准钱包

 创建一个新的密语种子

 下一步,选择老式地址

 记下密语种子

 下一步,再输入密语种子

输入密码

 下一步,进入主界面

 点击“地址”选项卡,里面已经创建了很多收款地址以及找零地址,都是以m开头的地址均为测试地址

 显示余额都是零,下一步我们就为其中一个收款地址获取测试比特币

三、获取测试币

浏览器打开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