以太坊合约中是否可以获取交易hash?
答案:不能 txhash 是keccak256(signedTransaction). 此 keccak256 函数可用作 Solidity 函数 http://solidity.readthedocs.io/en/v0.4.21/units-and-global-variabl…
欢迎所有爱好区块链技术的人加入。
CATEGORY
共 108 篇
答案:不能 txhash 是keccak256(signedTransaction). 此 keccak256 函数可用作 Solidity 函数 http://solidity.readthedocs.io/en/v0.4.21/units-and-global-variabl…
等等,LINK不是ERC20吗,怎么又成了ERC677了? 别急,我们先从ERC20开始说起。 ERC20是一套协议标准,代码角度来说就是一套接口API。在这个协议标准下,只要实现了协议标准所规定的方法,都可以作为ERC20代币的实现。协议规定必须实现的方法有: 除了这几个方法,…
推荐 :https://wizard.openzeppelin.com/ ## basic erc20 > Snapshot 1 `// SPDX-License-Identifier: MIT␊ pragma solidity ^0.8.2;␊ ␊ import "@openz…
## 常见问题 ### EIP-1559 是什么? EIP-1559 将改变以太坊的市场机制来支付交易费用。从根本上讲,EIP-1559 摆脱了首价拍卖,取而代之的是固定价格拍卖。这一变化的意义在于,提交交易的人不必猜测需要多少 gas,因为下一个区块中将包含明确的“基本费用”。…
伦敦升级来临 以太坊基金会于7月15日公布了伦敦升级最新进展,本次升级将在主网达到12965000区块高度时被激活,具体时间预计在8月3日至5日之间。 V神在7月24号的世界区块链大会上演讲时说到:“当现在的PoW链完成了它的使命,PoW链上的一切都转移到PoS链上之后,就算是进…
当前以太坊公链的平均每秒能处理30到40笔交易,因此以太坊一旦出现火热的DAPP时,极易出现交易拥堵。 偏底的交易处理速度永远无法同现有的中心化服务相比。当网络中出现大量交易排队时,矿工是如何选择并管理这些交易的呢?答案在本篇所介绍的以太坊交易池中,如果你对交易还不特别熟悉,则请…
上篇在介绍交易池时有讲到对于本地交易的特殊处理。为了不丢失未完成的本地交易,以太坊交易池通过 journal 文件存储和管理当前交易池中的本地交易,并定期更新存储。 下图是交易池对本地待处理交易的磁盘存储管理流程,涉及加载、实时写入和定期更新维护。 以太坊交易池本地待处理交易存储…
这是关于以太坊交易池的第三篇文章,第一篇是整体概况以太坊交易池,第二篇是讲解以太坊本地交易存储。而第三篇文章详解一笔交易时如何进入交易池,以及影响。内容较多,请坐好板凳。 交易进入交易池分三步走:校验、入队列、容量检查。拿 AddLocalTx举例。核心代码集中在交易池的`fun…
在交易存入交易池后,将影响pending格局。原因是在交易排队等待处理时,需要确定交易优先级。 如果交易池已有一万笔交易排队,该如何按优先级排队来处理呢?如果第一万零一笔交易刚刚加入交易池,需要优先处理此交易吗?如果待执行交易已经有十笔交易被执行完毕,如何从队列中转移一部分交易来…
### 前言 这篇文章从区块传播策略入手,介绍新区块是如何传播到远端节点,以及新区块加入到远端节点本地链的过程,同时会介绍fetcher模块,fetcher的功能是处理Peer通知的区块信息。在介绍过程中,还会涉及到p2p,eth等模块,不会专门介绍,而是专注区块的传播和加入区块…
### 前言 就如以太坊黄皮书讲的,以太坊是状态机,区块的产生,实际是状态迁移的过程。那以太坊 1. 是如何定义状态的? 2. 是如何迁移状态的? 3. 是怎么存储状态的? 这篇文章就介绍什么是状态,以及是怎么存储的。 ### 状态基本知识 #### 状态的定义 一个账户的信息,…
### 前言 Ethash实现了PoW,PoW的精妙在于通过一个随机数确定,矿工确实做了大量的工作,并且是没有办法作弊的。接下来将介绍: 1. Ethash的挖矿本质。 2. Ethash是如何挖矿的。 3. 如何验证Ethash的随机数。 ### Ethash的挖矿本质 挖矿的…
### 前言 engine是以太坊封定义的一个接口,它的功能可以分为3类: 1. 验证区块类,主要用在将区块加入到区块链前,对区块进行共识验证。 2. 产生区块类,主要用在挖矿时。 3. 辅助类。 接下来我们看一下engine具体定义了哪些功能,还有各功能的使用场景。 ### e…
### 前言 矿工在PoW中负责了产生区块的工作,把一大堆交易交给它,它生成一个证明自己工作了很多区块,然后将区块加入到本地区块链并且广播给其他节点。 接下来我们将从以下角度介绍矿工: 1. 角色。矿工不是一个人,而是一类人,可以把这一类人分成若干角色。 2. 一个区块产生的主要…
区块链就是何交易打交道,我们今天就介绍下,交易处理过程中的一个重要组成部分:txpool。这篇文章主要从功能角度介绍,通过这篇文章会了解: 1. txpool的在交易中的位置和作用。 2. txpool的功能,核心组成部分queued和pending。 3. txpool如何实现…
# 第五章:以太坊钱包开发 目前的公链项目,影响力最大的应该就数以太坊和比特币了,其他的多数公链,基本上都是借鉴了以太坊和比特币公链项目而设计开发的。了解区块链的人都知道,比特币和以太坊这两个公链项目的差距还是挺大的,故而他们的钱包开发也是特别不一样的。本章我们将详细讲解以太坊钱…
### 静态Gas的计算 以太坊黄皮书上说的gasLimit的计算方法: 需要注意的是这只是静态的gas消耗,实际gas消耗还需要加上合约执行的开销。 计算 IntrinsicGas的源码位置 core/state_transition.go ### Gas预估 相关源码位置:i…
### 获取账户的Nonce ### 获取ETH余额 ### 获取代币余额 方法一 ### 获取代币余额 方法二 (仅支持主链上的代币) ### 构造交易 ### 估算手续费上限 ### 转账ETH ### 转账代币 ### 转账代币方法二 ### 对交易签名,并发送交易 ###…
### 目前0.5.3的节点还能接收到一些测试的支票,得到的支票还能参与空投么? 您可能会在 0.5.3 中获得支票,但自 6 月 1 日官方 0.6.2 更新公告以来,它们将不符合空投资格。 https://discord.com/channels/79902739329751…
### 介绍 伊斯坦布尔拜占庭容错(IBFT)共识是受Castro-Liskov 99论文启发的。 了iBFT通过使用3相一致,从原来PBFT继承PRE-PREPARE,PREPARE和COMMIT。系统最多可以容忍验证器网络中的F故障节点N,其中N = 3F + 1。 ### …