bsc-eth-swap 编译及部署测试
## 背景 项目后期需要准备一个ETH体系的资产IBC服务,设计要求轻量稳定安全。 前面对poly做过技术调研,相对去中心化,但导致运行和运维成本过高,以及近期出现的安全性问题,所以暂时搁置。 本片文章将针对BSC提供的Swap服务做技术调研,由于没有找到官方的部署文档,只有技术…
欢迎所有爱好区块链技术的人加入。
INDEX
共 1183 篇
## 背景 项目后期需要准备一个ETH体系的资产IBC服务,设计要求轻量稳定安全。 前面对poly做过技术调研,相对去中心化,但导致运行和运维成本过高,以及近期出现的安全性问题,所以暂时搁置。 本片文章将针对BSC提供的Swap服务做技术调研,由于没有找到官方的部署文档,只有技术…
https://www.moesif.com/solidity-abi-hex-decoder/decode
为了方便社区新手入门,本文尽可能的详细 ### 准备合约编译环境 测试系统:WSL ubuntu 20.04 node: v10.19.0 npm: 6.14.4 #### 创建环境工程 此时目录下会生成truffle工程相关文件 ### 编写测试合约 需要部署三个合约,分别是 …
### 参考 https://stackoverflow.com/questions/49679808/error-eacces-permission-denied-mkdir-usr-local-lib-node-modules-node-sass-b https://www.…
当前以太坊公链的平均每秒能处理30到40笔交易,因此以太坊一旦出现火热的DAPP时,极易出现交易拥堵。 偏底的交易处理速度永远无法同现有的中心化服务相比。当网络中出现大量交易排队时,矿工是如何选择并管理这些交易的呢?答案在本篇所介绍的以太坊交易池中,如果你对交易还不特别熟悉,则请…
上篇在介绍交易池时有讲到对于本地交易的特殊处理。为了不丢失未完成的本地交易,以太坊交易池通过 journal 文件存储和管理当前交易池中的本地交易,并定期更新存储。 下图是交易池对本地待处理交易的磁盘存储管理流程,涉及加载、实时写入和定期更新维护。 以太坊交易池本地待处理交易存储…
这是关于以太坊交易池的第三篇文章,第一篇是整体概况以太坊交易池,第二篇是讲解以太坊本地交易存储。而第三篇文章详解一笔交易时如何进入交易池,以及影响。内容较多,请坐好板凳。 交易进入交易池分三步走:校验、入队列、容量检查。拿 AddLocalTx举例。核心代码集中在交易池的`fun…
在交易存入交易池后,将影响pending格局。原因是在交易排队等待处理时,需要确定交易优先级。 如果交易池已有一万笔交易排队,该如何按优先级排队来处理呢?如果第一万零一笔交易刚刚加入交易池,需要优先处理此交易吗?如果待执行交易已经有十笔交易被执行完毕,如何从队列中转移一部分交易来…
稍后补充 ### 参考 https://github.com/MyCryptoHQ/eth-scan https://github.com/ethereum-lists/tokens https://github.com/ethfaction/erc20_tokens https…
### 前言 这篇文章从区块传播策略入手,介绍新区块是如何传播到远端节点,以及新区块加入到远端节点本地链的过程,同时会介绍fetcher模块,fetcher的功能是处理Peer通知的区块信息。在介绍过程中,还会涉及到p2p,eth等模块,不会专门介绍,而是专注区块的传播和加入区块…
过去在学Actor模型的时候,就认为异步消息是相当的重要,在华为的时候,也深扒了一下当时产品用的消息模型,简单实用,支撑起了很多模块和业务,但也有一个缺点是和其他的框架有耦合,最近看到以太坊的事件框架,同样简单简洁,理念很适合初步接触事件框架的同学,写文介绍一下。 以太坊的事件框…
### 前言 就如以太坊黄皮书讲的,以太坊是状态机,区块的产生,实际是状态迁移的过程。那以太坊 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如何实现…
在测试`eth.pendingTransactions`时,无法获取到数据,查看代码(Github Code) ### 原因 由于查询`eth.pendingTransactions`性能消耗较大,所以代码加了一层限制,必须查询当前交易的签名者地址加到当前节点地址中 ### 注意…
# 第五章:以太坊钱包开发 目前的公链项目,影响力最大的应该就数以太坊和比特币了,其他的多数公链,基本上都是借鉴了以太坊和比特币公链项目而设计开发的。了解区块链的人都知道,比特币和以太坊这两个公链项目的差距还是挺大的,故而他们的钱包开发也是特别不一样的。本章我们将详细讲解以太坊钱…
由于web3j没有实现`getPendingTransactions`接口,业务又需要,所以补充下 参考下web3.js (Github Code) 通过查询(Github Code) 找到以下轮子 (Github Code) 如果完整的,应该fork扩充到 (Github Co…
### 静态Gas的计算 以太坊黄皮书上说的gasLimit的计算方法: 需要注意的是这只是静态的gas消耗,实际gas消耗还需要加上合约执行的开销。 计算 IntrinsicGas的源码位置 core/state_transition.go ### Gas预估 相关源码位置:i…