区块链
晓之木初
船到桥头自然直,前提是你努力过!
展开
-
关于Facebook的Libra(目前是联盟链,以后会向公链进行过度)
Libra白皮书Libra的使命: 建立一套简单的、无国界的货币和为数十亿人服务的金融基础设施。为什么选择使用Blockchain构建该金融基础设施?采用Blockchain还存在哪些问题?区块链和加密货币具有许多独特的属性,因而具备解决金融服务可用性和信誉问题的潜力。 这些属性包括: 分布式管理,确保网络不受单一实体控制;开放访问,允许任何能连接互联网的人参与其中;以及安全加密...原创 2020-07-26 17:22:27 · 1293 阅读 · 0 评论 -
高性能联盟区块链技术研究(论文学习)
1. 文章创新点① 业务逻辑与共识分离的架构典型的联盟链系统的工作流程:client将签名后的交易发送给联盟链节点,由HTTP服务器校验签名和证书等信息。校验通过后的交易,原子广播给共识模块。共识模块完成交易的排序后,将打包好的block传递给执行模块。执行模块进行签名验证,并调用虚拟机模块执行block中的交易。交易执行结束后,交易结果会先在执行模块中缓存,只有当交易结果的ha...原创 2020-07-26 17:24:44 · 1004 阅读 · 0 评论 -
Ubuntu18.04使用remix部署智能合约
1. 使用remix编译智能合约① 编写智能合约我也是新手,智能合约就是在网上找的,一共找了两个。一个是multiply_test.sol,内容如下:pragma solidity 0.4.24;contract multiply_test { function mul(uint a) pure public returns (uint) { return a*...原创 2019-03-26 11:39:33 · 1457 阅读 · 0 评论 -
Ubuntu18.04 基于以太坊搭建多机多节点私有链
1. 多机多节点的规划主机名IP节点identitymaster192.168.1.120lucyslave1192.168.1.121slave1slave2192.168.1.122slave2要求多台主机之间能相互ping通,这里我为每台主机设置的是静态ip。如何设置静态IP可以参考:ubuntu18.04配置静态ip和动态ip...原创 2019-03-24 12:11:29 · 2424 阅读 · 0 评论 -
Ubuntu18.04同时安装两个版本的protobuf(protoc)
1. 下载并安装protobuf2.5.0下载地址:Protocol Buffers v2.5.0,我选择的是protobuf-2.5.0.tar.gz。解压缩protobuf-2.5.0.tar.gz并移动到合适的文件夹:$ tar -zxvf protobuf-2.5.0.tar.gz$ sudo cp -rf protobuf-2.5.0 /usr/local$ cd /usr...原创 2019-04-04 09:35:20 · 10972 阅读 · 1 评论 -
Ubuntu18.04 基于以太坊搭建单机多节点私有链
在之前的博客中,我们完成了以太坊私有链的搭建,并执行了一些基本的操作,现在将实现多节点私有链的搭建。如果还没有搭建好自己的私有链,或者对私有链的基本操作不熟悉,请参考之前的博客:Ubuntu18.04搭建自己的以太坊私有链(一)Ubuntu18.04搭建自己的以太坊私有链(二)1. 初始化节点02为了区分两个节点,我们将之前创作的节点,称为节点01,即将创建的节点称为节点02。创...原创 2019-03-23 12:05:30 · 1669 阅读 · 4 评论 -
Ubuntu18.04搭建自己的以太坊私有链(一)
1. 创建创世区块文件创建私有链专门的data目录:$ mkdir /home/hadoop/private_eth1创世区块文件是一个json格式的文件,一般命名为genesis.json。本人将其存放在/home/hadoop/private_eth1目录下,其内容如下:{ "config": { "chainId": 230, "hom...原创 2019-03-22 20:23:04 · 5292 阅读 · 0 评论 -
Remix IDE的本地环境搭建(ubuntu系统)以及编译智能合约
1. Remix IDE介绍Remix IDE是一款以太坊官方solisity语言的在线IDE,适合新手,可以在浏览器中快速编写、部署、测试智能合约。在线地址:remix-ide online某些时候可能是在离线环境下工作或者受限于网速原因,使用在线remix-ide进行智能合约的开发体验很差,所以搭建一个本地remix-ide开发环境更有助于提升工作的效率。2. Remix IDE本...原创 2019-03-25 21:18:28 · 4340 阅读 · 5 评论 -
Ubuntu18.04安装geth
自己也是个小白,只能网上找教程,然后发现教程大同小异。有的只需要安装geth就可以了,有的需要安装nodejs、git等各种软件。自己恰好由于某些原因也已经安装了,所以我只能把大家的综合一下~1. 前期准备① 安装git(通过源码编译的方式安装geth,需要此步骤)这里安装git主要是为了后面能通过源码编译的方式安装geth,如果想直接通过添加以太坊官方APT源,并安装以太坊客户端的方...原创 2019-03-22 14:24:56 · 7484 阅读 · 1 评论 -
以太坊中私钥、公钥、账户地址详解
在学习以太坊的过程中,有些描述告诉我:公钥和账户地址有关系。一个以太坊地址就代表着一个以太坊账户,地址是账户的标识。对于外部账户来说,地址表示的是该账户公钥的后20字节(通常会以0x开头,例如,0xcd2a3d9f938e13cd947ec05abc7fe734df8dd826,该地址使用的是16进制表示法2)。自己的疑问:那私钥呢?就是我们创建账户时,输入的密码吗?这也太简单了吧?...原创 2019-03-25 16:17:28 · 18733 阅读 · 2 评论 -
以太坊geth常使用命令总结
虽然自己撰写博客,记录了完整的、通过geth操作以太坊私有链的过程,但是发现自己要使用命令时,一个个去找很麻烦,现在总结一下。1. 内置的JavaScript对象geth的JavaScript控制台内置了一些用来操作以太坊的 Javascript 对象,可以直接使用这些对象。eth:包含一些操作区块链相关的方法,输入eth便可查看这些方法。下面是一些常见方法的显示,查询结果有省略。&g...原创 2019-03-25 12:51:45 · 2886 阅读 · 1 评论 -
以太坊中gas、gasPrice、gasLimit是什么?手续费不足异常(insufficient funds)的解决
1. 什么是gas?gas是“燃料”的意思。在以太坊区块链上实现了一个EVM(以太坊虚拟机)的代码运行环境,在链上执行写入操作时,网络中的每个全节点都会进行相同的计算并存储相同的值。这种执行的消耗是昂贵的,为了促使大家将能在链下进行的运算都不放到链上进行,也为了奖励矿工,在链上每执行一个写入操作时,都需要支付一定的费用,用gas为单位来计数。每个在链上可以执行的命令都设置了一个消耗的gas...原创 2019-03-24 20:58:22 · 22548 阅读 · 1 评论 -
以太坊中的叔块
在Ubuntu18.04 基于以太坊搭建单机多节点私有链,本人尝试开启多个节点同时进行挖矿。发现矿工账户中出现了非整数的以太币,请教清华大佬后才知道,原来这是因为叔块的存在。//节点01的账户余额> web3.fromWei(eth.getBalance(eth.accounts[0]),"ether")668.875> web3.fromWei(eth.getBalance(...原创 2019-03-24 19:30:02 · 4924 阅读 · 4 评论 -
Ubuntu18.04简单使用tendermint
① 启动tendermint并检查状态初始化tendermint$ tendermint init单节点方式启动tendermint,并使用内置应用kvstore。-proxy_app运行标志用来指定一个内置的ABCI应用,例如kvstore是tendermint程序内置的键值对应用。$ tendermint node --proxy_app=kvstore# 如果之前已经使用...原创 2019-05-01 21:18:40 · 530 阅读 · 0 评论 -
Ubuntu18.04安装tendermint
1. 绪言首先还是说点废话吧,安装tendermint之前,你应该先安装好go。可以参考之前的博客:ubuntu18.04安装Go语言跟go有关的很多库都被墙了,导致使用go get去下载的相关包,很容易报错。要么是他本身无法下载,要么是他的依赖无法下载,真的超级鸡肋。go get可以根据要求和实际情况从互联网上下载或更新指定的代码包及其依赖包,并对它们进行编译和安装。个人认为他...原创 2019-05-01 19:29:35 · 1397 阅读 · 0 评论