以太坊

使用vue和web3创建你的第一个以太坊APP

欢迎回到这个很牛的教程系列的第2部分,在教程中我们亲手构建我们的第一个分布式应用程序。 在第二部分中,我们将介绍VueJS和Vuex的核心概念,并引入web3js以与metamask进行交互。 如果你错过了第一部分,你可以在下面找到它。 正事: VueJS VueJS是一个用于构建UI的javascript框架。乍一看,它看起来与经典的moustache模板类似,但在底层为了使Vue变得响应式发生 »

死磕以太坊源码分析之挖矿流程分析

死磕以太坊源码分析之挖矿流程分析 代码分支:https://github.com/ethereum/go-ethereum/tree/v1.9.9 基本架构 以太坊挖矿的主要流程是由miner包负责的,下面是基本的一个架构: 首先外部是通过miner对象进行了操作,miner里面则是实用worker对象来实现挖矿的整体功能。miner决定着是否停止挖矿或者是否可以开始挖矿,同时还可以设置矿工的 »

以太坊ETH中的 gas、gasprice 和 gaslimit

Gas:  gas是“燃料”的意思,在以太坊区块链上实现了一个EVM(以太坊虚拟机)的代码运行环境,在链上执行写入操作时,网络中的每个全节点都会进行相同的计算并存储相同的值,这种执行的消耗是昂贵的,为了促使大家将能在链下进行的运算都不放到链上进行,也为了奖励矿工,因此在链上每执行一个写入操作时,都需要支付一定的费用,用gas为单位来计数,每个在链上可以执行的命令都设置了一个消耗的gas值,例:PU »

ethereum(以太坊)(十一)--字节数组(一)

pragma solidity ^0.4.0; contract byte1{ /* 固定大小字节数组(Fixed-size byte arrays) 固定大小字节数组可以通过bytes1,bytes2...bytes32声明,byte=byte1 bytes1 只能存储1个字节,也就是二进制的8位内容 //一个字节=8位2进制/一个字母/符号/(1/3汉字) »

以太坊私钥到公钥到地址的计算,golang

借助geth官方提供的函数可以很简单的实现代码如下 package main import ( "crypto/ecdsa" "encoding/hex" "fmt" "github.com/ethereum/go-ethereum/crypto" ) func main() { priKeyHash := "796c823671b118258b53 »

[Blockchain] 以太坊主流测试网 ropsten 和 kovan 的区别 以及 如何选择

  ropsten 采用 POW (Proof-of-Work)共识机制,挖矿难度系数非常低,容易被攻击,不够低碳环保。   kovan 采用 POA (Proof-of-Authority)共识机制,不需要挖矿,由开发人员主动申请、权威节点生成ETH,低碳环保。   所以想要完全自助的,获取 ropsten 测试币可以自己去水龙头上点几下。 想要支持环保的,获取 kovan 测试币可以去指定的会 »

批量操作以太坊钱包

描述有N个通过一个mnemonic生成的wallet(BIP 39 https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki),需要把他们的余额都发送到一个wallet   思路通过web3连接到一个安装好了ethereum node (Parity or Geth)  https://www.parity.io/https:// »

以太坊的账户和交易

以太坊中有两种账户1、外部拥有账户(EOA),一般指自然人拥有的账户。2、合约账户(CA),为智能合约分配的账户。 看一下账户的源码定义: EOA特征codeHash为空storageRoot为空通过私钥控制发起交易(转移以太币或触发合约代码) CA特征不能发起交易,可以被触发执行合约代码(通过EOA发起的交易或者从其他CA接收的消息调用激活) 怎么判断一个账户是空账户? EMPTY(σ, »

以太坊:EVM的存储结构

版权声明:本文系博主原创,未经博主许可,禁止转载。保留所有权利。 引用网址:https://www.cnblogs.com/zhizaixingzou/p/10124209.html     1. EVM的存储结构 1.1. VM内存 内存结构像堆栈一样,也提供了数据缓存的功能,但更作用的是提供了合约调用合约等过程中,子合约数据的临时存储。   1)实现类 public class Me »

以太坊geth客户端下的一些常用命令

这是一个交互式的 JavaScript 执行环境,在这里面可以执行 JavaScript 代码,其中 > 是命令提示符。在这个环境里也内置了一些用来操作以太坊的 JavaScript 对象,可以直接使用这些对象。这些对象主要包括: eth:包含一些跟操作区块链相关的方法; net:包含一些查看p2p网络状态的方法; admin:包含一些与管理节点相关的方法; miner:包含启动& »

从零构建以太坊(Ethereum)智能合约到项目实战——第21章 搭建联盟链

P78 、1-内容介绍 什么情况下建立自己测试用的PoA chain? 公司内网或无对外网络,无法同步区块 降低测试时等待区块的时间 不想碰到testrpc各种雷 PoA chain特点有 有别于PoW(Proof-of-Work)需要解数学难题来产生block,PoA是依靠预设好的Authority nodes,负责产生block。 可依照需求设定Authority nodes数量。 可指 »

基于Vue、web3的以太坊项目开发及交易内幕初探 错误解决总结

基于Vue、web3的以太坊项目开发及交易内幕初探 本文通过宏观和微观两个层面窥探以太坊底层执行逻辑。 宏观层面描述创建并运行一个小型带钱包的发币APP的过程,微观层面是顺藤摸瓜从http api深入go-ethereum源码执行过程。 分析思路:自上而下,从APP深入EVM。 从应用入手,如果一头扎进ethereum,收获的可能是纯理论的东西,要想有所理解还得结合以后的实践才能恍然大悟。所以我始 »

以太坊公开拍卖智能合约案例

实现一个简单的公开拍卖智能合约,所有人都可以出价,把以太币发送到指定地址,出价B高于出价A时,那么A的资金会被自动退回。拍卖结束后,商品所有者会收到最高的出价资金。 智能合约在拍卖领域能让过程更透明公平,最大程度的促进参与者的积极性。 contract SimpleAuction { // 定义参数:受益人、开始时间、拍卖持续时间 address public beneficiary; »

[区块链]以太坊手动添加静态节点

如果每次都向某个节点同步区块,可以手动的添加为静态节点,这样可以大大的提高同步效率 这里套用一下https://blog.csdn.net/weixin_40903789/article/details/79619646的私链,感谢,我就不用再创建虚拟机了做静态节点了 作用默认大家已经安装好了mist,下载地址,它是一个集web3和钱包的工具,默认也会有geth的安装,当然也可以使用上述地址get »

以太坊源码(03):POA委员会选举机制

1       名词介绍 2       矿工投票方法 3       委员会确定投票流程 3.1        关键概念描述 3.1.1       Epoch & checkpointInterval 3.1.2       Snapshot 3.2        投票方法   1.名词介绍 节点:普通的以太坊节点,没有区块生成的权利。 矿工:具有区块生成权利的以太坊节点 委员会:所有 »

基于docker的以太坊集群的私有链开发环境

转载博文:https://www.jianshu.com/p/8af386ec5f9e https://www.jianshu.com/p/7994db7a2b89?from=singlemessage https://blog.csdn.net/hqzxsc2006/article/details/79526911   阅读完本文,你将可以在一台物理机上搭建起一个完整的以太坊私链,并且部署自 »

以太坊实战--锁仓分红和邀请机制

销毁相当于从合约地址里面减去指定的数字的代币. 调用对象的安全减法. 邀请人制度: 前端传一个参数过去,后端根据参数判断时候调用 后端根据参数将这个人的地址里面加入指定的代币 锁仓分红制度. //佣金 contract Lottery{ address public manager; address[] public players; address public winner; functio »