![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
以太坊
文章平均质量分 77
北纬32.6
这个作者很懒,什么都没留下…
展开
-
如何从区块链上数据识别出套利行为或者抢跑三明治交易
鉴于交易可以任意复杂并且可以有无数未知交易模式,使用特定交易模式匹配的方法无法应对新的 MEV 模式。为了确定交易中是否发生套利,我们需要对交易进行通用抽象。· TransferTable的每一行表示一个Address的一个Asset发生了变化,正值表示增加,负值表示减少。· 在同一个区块中,攻击者的交易包含一个开始交易、一个结束交易,以及介于两者之间的一个或多个受害者交易。我们用它来描述一次交易中所有涉及的地址之间发生的多个资产流的最终结果。· 交易中涉及的每项资产在各自的交易中都经历了流入和流出。原创 2023-01-09 00:56:08 · 1062 阅读 · 0 评论 -
Erigon 最新执行客户端安装教程
接下来命令启动:Erigon 在 30303 端口,rpcdaemon 在 8545 端口,prometheus 在 9090 端口,grafana 在 3000 端口。可以启用启用 pprof 或指标(或两者)的可选标志 - 但是,默认情况下它们都在 6060 上运行,因此如果您想同时运行两者,则必须更改其中一个。请记住,SSD 性能在接近容量时会下降。将 RPCDaemon 作为单独的进程运行:此守护进程可以使用本地数据库(运行 Erigon 或在数据库快照上)或远程数据库(在另一台服务器上运行)。原创 2023-01-08 22:07:48 · 1092 阅读 · 0 评论 -
以太坊合约地址生成原理
也就是说合约的地址是可以预先获知的,这有时候很有用。比如:当我们想把一个合约部署到一个固定的地址上时,我们可以通过使用指定的sender和nonce就可以做得到。比如:EIP1820和EIP 2470正是这么做的。我们在以太坊上创建一个合约时,新生成的合约的地址是根据发送者(sender)的地址和其已生成的事务数(nonce)确定的,经过RLP编码后再Hash( Keccak-256)运算得出的。因此,由一个联合创建的第一个联合地址将使用非连续零时。中引入的操作码),它是可以创建约的另一种方式。原创 2023-01-07 18:12:27 · 1479 阅读 · 0 评论 -
以太坊数据签署(二)
写在前面在上一篇文章中,我们简单介绍了以太坊数据签署,在这边文章我们将直接讲一些使用案例,处理一些业务逻辑简单签署消息var sign = require('@metamask/eth-sig-util');const helloWorldSignature = '0x90a938f7457df6e8f741264c32697fc52f9a8f867c52dd70713d9d2d472f2e415d9c94148991bbe1f4a1818d1dff09165782749c8.原创 2022-04-23 04:43:21 · 1335 阅读 · 0 评论 -
以太坊数据签署(一)
写在前面 为了方便理解以太坊数据签署发展历史 ,第一篇文章我们先从metamask工具签署数据开始讲起,在第二篇文章我将讲一些实际使用案例,以及代码实现,当然他还有更多的使用场景,大家可以去想象。签署数据由于 MetaMask 为每个用户提供加密密钥,因此网站可以将这些签名用于各种用途。以下是一些与特定用例相关的指南:验证网站(打开新窗口) 我们的MetaTransaction 黑客松中为链上协议签署链下消息的一些示例(打开新窗口)#使用 MetaMask 签署数据...原创 2022-04-23 04:16:15 · 3313 阅读 · 0 评论 -
以太坊 r,s,v是什么,以及怎么实现的
1):v,r,s是交易签名的值。它们可以用作获取任何以太坊帐户的公钥2):r,s是ECDSA 签名的输出,v是恢复 ID3):v是怎么来的呢?原创 2022-04-23 04:05:18 · 5906 阅读 · 0 评论 -
以太坊源码分析网站
1:以太坊源码分析网址1:https://github.com/qq776355102/ethereum-analysis2:以太坊源码分析网址2:https://github.com/qq776355102/go-ethereum-chinese原创 2020-09-03 13:10:35 · 323 阅读 · 0 评论 -
使用ABI解码以太坊Transaction input数据,减少gas free
在写智能合约的时候,之前我的习惯是把需要查询的数据记录在合约的event中,这些event的字段有些就是方法的入参。虽然以太坊log数据gas free相对较少,但积累起来就可观了。经过思考后,我给自己定了一些规则:需要索引的字段,计算的中间结果,可以保留在event中 无后台的DApp可以在event中保留更多的字段 具有复杂功能(比如分账明细)的DApp,如需要多次查询大量数据,可以考虑使用后台来查询区块链。此时event中含有的函数入参就没有必要保留了,数据可以通过transaction的in原创 2020-09-03 10:06:52 · 3140 阅读 · 1 评论 -
以太坊p2p模块--以太坊源码学习
p2p模块p2p模块对外暴露了Server关键结构,帮助上层管理复杂的p2p网路,使其集中于Protocol的实现,只关注于数据的传输.Server使用discover模块,在指定的UDP端口管理网络中结点的发现以及维护,discover模块能够直接和临近结点交换各自已知结点信息,从而不断的更新结点网络.Server还是用nat模块来进行TCP端口映射,而nat主要是利用upnp和pmp两个协议,如果没有,那就只能认为指定的ip就是公网ip了.Server要同时在udp和tcp的30303端原创 2020-09-03 09:40:51 · 158 阅读 · 0 评论 -
以太坊官方json_rpc api文档
https://eth.wiki/json-rpc/API原创 2020-08-28 17:28:52 · 1163 阅读 · 0 评论 -
以太坊parity2.72节点客户端部署安装
写在前面1.部署的操作系统:ubuntu16.062.以太坊版本:parity2.7.2稳定版parity官网 :https://www.parity.io准备环境先排查必须环境是否已经安装 如有不清楚的,可以加我交流1:llvm,make,cmake,gcc,g++,clang,pkg-config,file安装环境2:rust,perl,yasm安装环境2:查看当前客户端不同操作系统运载量统计以及相关安装操作说明(https://snapcraft.io/parity)如下图不同原创 2020-08-27 23:01:49 · 972 阅读 · 0 评论 -
最新parity 以太坊客户端2.7.2稳定版配置参数说明
最新parity 以太坊客户端2.7.2稳定版,客户端配置参数说明Parity Ethereum Client. By Wood/Paronyan/Kotewicz/Drwięga/Volf/Greeff Habermeier/Czaban/Gotchac/Redman/Nikolsky Schoedon/Tang/Adolfsson/Silva/Palm/Hirsz et al. Copyright 2015-2020 Parity Techno...原创 2020-08-26 08:43:20 · 1320 阅读 · 0 评论 -
ETH&EOS开发资源及工具集合
ETH开发资源篇一、开发语言· Solidity - 官方推荐以太坊智能合约开发语言,也是目前最为主流的智能合约语言· Bamboo - 是一种将智能合约描述为有限状态机的语言,把智能合约看成一个状态和交易的函数,同时生成一个新的状态· Vyper - 一种类 python 的面向合约编程语言,专注于以太坊虚拟机,着重于安全、...原创 2019-10-24 15:00:00 · 702 阅读 · 1 评论 -
以太坊parity安装
写在前面:Ethereum目前有两种节点,分别是go-ethereum(简称geth)和Parity。因为Parity出现的时间较晚,解决了geth节点中的许多问题,拥有更好的性能,所以后面所有关于以太坊的讲解都会以Parity环境作为基础。本篇主要说明了Parity节点的搭建使用的系统:ubuntu 16.04Parity官方网站:https://parity.ioParity ...原创 2019-01-23 14:23:12 · 3140 阅读 · 1 评论 -
以太坊数据结构
数据结构关系图 以太坊采用账号系统,因而相比比特币,它除了区块数据外还有账号数据。同时它有图灵完备的智能合约虚拟机,因而又多了一个状态数据,同时为了保留执行记录,又多了一个receipt数据Block: 由header和body构成,header里有三个trie的rootHash<hash, receipt>数据构造的receipt trie, header.recei...转载 2018-07-11 14:34:21 · 2204 阅读 · 1 评论 -
以太坊MPT原理
MPT的全称是Merkle Patricia Tree, 从这里可以看出MPT是Merkle Tree + Patricia Tree。接下来就就来讲讲这两种树:Merkle Tree 区块链P2P网络中,如果需要传输的数据很大,就需要同时从多个机器上下载数据,而且很可能有些机器是不稳定(可能下载速度很慢)或者不可信的(需要重新下载)。为了快速下载大块数据并验证,更好的办法是把大文件分...转载 2018-07-11 14:41:20 · 861 阅读 · 0 评论 -
如何判断一个以太坊地址是是智能合约地址或者ETH普通地址
根据不同的应用场景分成两种1.web3.js在DAPP应用开发时使用2.solidity智能合约开发时使用以下是具体实现1.web3.js在DAPP应用开发时使用web3.eth.getCode()方法返回指定地址上代码的16进制字符串,由于普通账户地址处没有代码,因此将仅返回16进制前缀0x。利用这个我们可以进行判断,例如: var code = web3...原创 2018-07-13 10:16:02 · 15120 阅读 · 9 评论 -
web3.js与合约交互
在我的以太坊手机轻钱包开发javascript签名合约交易这篇文章中我已经写到了如何用web3.js发布合约接下来我们将使用web3.js与现有合约交互,下面合约也是以太坊....javascript签名合约交易这篇文章使用的合约案例.如果您目前没有部署下面合约,你可以参考这边文章部署好合约.,然后按步骤实操.示例合约本文以下面的MetaCoin合约为例,说明在应...原创 2018-07-13 17:36:15 · 3371 阅读 · 0 评论 -
以太坊源码P2P网络及节点发现机制
http://www.cnblogs.com/blockchain/p/7943962.html目录1 分布式网络介绍1.1 Kad网介绍1.2 Kad网络节点距离1.3 K桶1.4 Kad通信协议2 邻居节点2.1 NodeTable类主要成员2.2 邻居节点发现方法2.3 邻居节点网络拓扑及刷新机制。 1 分布式网络介绍以太坊底层分布式网络即P2P网络,使用了经典的Kademlia网络,简称k...转载 2018-07-13 17:39:12 · 738 阅读 · 0 评论 -
如何编写智能合约(Smart Contract)(I)最新
写在前面 参考原文:http://liyuechun.org/2017/09/19/how-to-code-smart-contract/有版本问题,按照原文会出错最新: https://truffleframework.com/docs/advanced/configuration#resolving-naming-conflicts-on-windowsWindow用...转载 2018-07-25 17:12:27 · 2779 阅读 · 0 评论 -
如何编写智能合约(Smart Contract)(III)最新
写在前面参考原文:http://liyuechun.org/2017/09/21/how-to-code-smart-contract-BloggerCoin/有版本问题,按照原文会出错 最新:https://truffleframework.com/docs/advanced/configuration#resolving-naming-conflicts-on-windowsW...转载 2018-07-25 17:29:28 · 744 阅读 · 0 评论 -
以太坊ERC-721令牌
github的:https://github.com/0xcert/ethereum-erc721以太坊Eips上面的:https://eips.ethereum.org/EIPS/eip-721如下demo:https://etherscan.io/address/0xa98ad92a642570b83b369c4eb70efefe638bc895#code721跟erc20不一样的...原创 2018-08-17 18:35:47 · 810 阅读 · 0 评论