分类: 区块链

区块链相关开发

33 篇文章

以太坊区块中的额外数据extraData
基本含义 块的额外数据,通过 --miner.extradata指定。在以太坊中的黄皮书中这样规定extraData: An arbitrary byte array containing data relevant to this block. This must be 32 bytes or fewer; formally Hx.就是说允许矿工…
MetaMask调试记录
检测 MetaMask 是否安装 原始方法:window.ethereum && ethereum.isMetaMask 第三方库 import detectEthereumProvider from '@metamask/detect-provider'; const provider = await dete…
Blockscout 相关笔记
Dockerfile打包 打包ID 由于最新版本的打包websocket推送区块总感觉一卡一卡的,具体后台会有这个打印application=indexer fetcher=block_catchup first_block_number=1243301 last_block_number=0 missing_block_count=2 shrun…
Blockscout 开发环境搭建
安装环境 4core, 16GB内存, 100GB SSD, Ubuntu20.04。确保你已经搭建了一个geth节点。 依赖安装 Erlang/OTP24 Elixir 1.12.x wget https://packages.erlang-solutions.com/erlang-solutions_2.0_all.deb dpkg -i er…
Solidity学习笔记-操作码-02
Instruction Explanation stop - F 停止执行,与 return(0,0) 等价 add(x, y) F x + y sub(x, y) F x - y mul(x, y) F x * y div(x, y) F x / y sdiv(x, y) F x / y,以二进制补码作为符号 mod(x, y) F x % y …
Solidity学习笔记-函数相关-01
特殊函数 receive() 一个合约只能有一个receive函数,该函数不能有参数和返回值,需设置为external,payable; 当本合约收到ether且未指定调用任何函数(calldata 为空)时执行,receive函数被触发;传进来的ether全部转给合约。 fallback() 一个合约只能有一个receive函数,该函数不能有参数…
Uniswap接口调用文档
unisawp配对合约 每一个交易对都有一个配对合约 方法名称 可视范围 类型 修饰符 Constructor Public ❗️ ? NO❗️ initialize External ❗️ ? NO❗️ getReserves Public ❗️ NO❗️ _safeTransfer Private ? ? _update Private ? ?…
在私链上部署uniswap
准备工作 以UniSwap v2 版本为例,部署到自己的私链上。 首先,下载并安装好Node.js,然后执行命令npm i yarn -g全局安装yarn。 然后,下载需要的两个合约 git clone https://github.com/Uniswap/v2-core.git git clone https://github.com/Unisw…
以太坊Trie的写入读取测试
环境 Windows 11,AMD R7 8核 16 线程处理器,16GB内存。 测试内容 随机写入1000w条账户数据。然后从写入的1000w条数据随机读取1000,10000,100000,1000000条数据。 测试结果 写入结果 随机写入1000w条数据,总花费时间350s左右,所以写入的TPS大概为 10000000 / 350 == 2…
以太坊trie中的数据库相关操作
引言 之前分享过“以太坊状态树state的修剪流程”,讲述了上层清理trie中数据库里面的数据的条件以及时机。这篇再简单介绍一下trie对应的数据库的相关操作。所以后面说的数据库,如果没做特别说明,都是trie对应的数据库。 Trie 的 Hash 与 Commit 以太坊的PoW共识算法来说,需要stateRoot,txHash以及其他字段才能够…