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

浏览器打开 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:弹出栈顶两个元素,用公钥进行验签。整个验证交易过程结束。

使用比特币轻量钱包Electrum的更多相关文章

  1. Raspkate - 基于.NET的可运行于树莓派的轻量型Web服务器

    最近在业余时间玩玩树莓派,刚开始的时候在树莓派里写一些基于wiringPi库的C语言程序来控制树莓派的GPIO引脚,从而控制LED发光二极管的闪烁,后来觉得,是不是可以使用HTML5+jQuery等流 ...

  2. 一种简单,轻量,灵活的C#对象转Json对象的方案

    简单,是因为只有一个类 轻量,是因为整个类代码只有300行 灵活,是因为扩展方式只需要继承重写某个方法即可 补充:修正无法处理可空值类型的bug 首先我将这个类称之为JsonBuilder,我希望它以 ...

  3. 一种简单,轻量,灵活的C#对象转Json对象的方案(续)

    本文参考资料 一种简单,轻量,灵活的C#对象转Json对象的方案 [源码]Literacy 快速反射读写对象属性,字段 一段废话 之前我已经介绍了这个方案的名称为JsonBuilder,这套方案最大的 ...

  4. Dapper.NET——轻量ORM

    Dapper.NET使用 http://www.cnblogs.com/yankliu-vip/p/4182892.html 本文目录 Dapper.NET使用 1.为什么选择Dapper 2.以Da ...

  5. 编写轻量ajax组件01-对比webform平台上的各种实现方式

    前言 Asp.net WebForm 和 Asp.net MVC(简称MVC) 都是基于Asp.net的web开发框架,两者有很大的区别,其中一个就是MVC更加注重http本质,而WebForm试图屏 ...

  6. Vue.js:轻量高效的前端组件化方案

    转发一篇尤老师对vue.js的介绍,了解vue.js的来龙去脉.不过现在已经是2.0了,也有添加一些新的东西,当然有些东西也改了. Vue.js:轻量高效的前端组件化方案 Vue.js 是我在2014 ...

  7. 基于netty轻量的高性能分布式RPC服务框架forest<下篇>

    基于netty轻量的高性能分布式RPC服务框架forest<上篇> 文章已经简单介绍了forest的快速入门,本文旨在介绍forest用户指南. 基本介绍 Forest是一套基于java开 ...

  8. 基于netty轻量的高性能分布式RPC服务框架forest<上篇>

    工作几年,用过不不少RPC框架,也算是读过一些RPC源码.之前也撸过几次RPC框架,但是不断的被自己否定,最近终于又撸了一个,希望能够不断迭代出自己喜欢的样子. 顺便也记录一下撸RPC的过程,一来作为 ...

  9. 轻量、强大的代码编辑器控件-WinForm完美版

    前段时间做个小项目需要用到一个代码编辑器控件,但网上搜了半天,居然没发现一个完全满意的编辑器.现有的一些编辑器有: FastedTextBox 优点:1.  轻量. 2. 样式美观. 3. DEMO完 ...

随机推荐

  1. linux 自定义函数

    用别人的车子出行,总感觉别扭,那怎么自定义自己的车轮子呢? 通过上面的求两个参数的和例子,我们可以学到定义一个函数基本的步骤, function getSum(){  SUM=$[$n1+$n2]  ...

  2. DEVOPS ROADMAP

  3. TypeError: __init__() got an unexpected keyword argument 'serialized_options'

    问题描述: TypeError: __init__() got an unexpected keyword argument 'serialized_options' File "objec ...

  4. 关于kail的远程连接

    昨天开始学关于网络攻防的一下知识,虚拟机的镜像用的是kail,对自己造成了很多不适应的地方,有点自闭了. 最近会和大家分享一些关于kail的问题或者说网络攻防方面.这次就说一下kail的远程服务. k ...

  5. FUZZ测试简介

    基本思想:利用黑盒方法,发送大量恶意/随机数据到被测试系统,通过监视系统运行过程中的异常,来发现应用程序中可能存在的安全问题.

  6. web - code/flash

    trace 来源: 1. http://traces.cs.umass.edu/index.php/Storage/Storage 源代码: 1.sourceforge 2.github.github ...

  7. Java-Redis Serializable序列化

    在Java中使用redis存储User对象时,进行JUnit测试时,控制台: 2019-06-24 16:56:45.520 INFO 27688 --- [ main] j.LocalContain ...

  8. SpringBoot整合MyBatis完成添加用户

    怎么创建项目就不说了,可以参考:https://www.cnblogs.com/braveym/p/11321559.html 打开本地的mysql数据库,创建表 CREATE TABLE `user ...

  9. DOS ftp

    C:\>ftp /? 将文件传送到运行 FTP 服务器服务(经常称为后台程序)的计算机以及将文件从该计算机传出.可以交互使用 Ftp. FTP [-v] [-d] [-i] [-n] [-g] ...

  10. ABC044 Digit Sum

    题目链接 我的思路略复杂,这里介绍一个比较简洁的做法. 对于 $b \le \sqrt{N}$,暴力枚举 $b$.对于 $b > \sqrt{N}$, 注意到在 $b$ 进制下 $N$ 至多有 ...