首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

以太坊go-ethereum客户端查询交易列表(二)

玩过比特币的朋友都知道,比特币是可以通过api(listtransactions)查询指定地址的历史交易的。但在eth中没有提供类似的查询api。今天这篇博客就简单介绍一下如果解决这个问题。...问题 以太坊go-ethereum客户端是没有根据地址查询交易列表的API的。然而,在使用过程中我们往往会用到类似的API。针对是否要在客户端上添加此API,github已经有激励的讨论了。...点击一下网址可以了解一下: https://github.com/ethereum/go-ethereum/issues/1897 解决方案 那么既然有此需求,即使没有针对性的API也需要找到相应的解决方案...此方法的基本思路是,查询每个区块的具体交易,录入到自己的数据库中,然后通过sql语句查询自己的数据。此方法就需要有一定的编码基础和设备投入。现有的API是支持查询每一个区块内的交易记录的。...虽然比较笨重,但一旦数据由自己维护之后,想怎么查询只是sql语句不同的事情了。 例外情况 如果要查询合约的交易历史,那么可以通过过滤(filter)合约日志来达到此目的。

45640

Ethereum中Event

概述 本篇文章将描述Ethereum的Event系统。在以太坊的合约代码中,经常会看到emit SomeEvent(...)的调用,对这里比较有困惑,查找了好些资料,整理出如下文档。...在Ethereum的节点中,Event通过机制如下实现: solidity的合约通过编译为字节码,存储至Ethereum的区块链中;当一个交易中有合约调用时,先从区块链的数据库中加载当前Ethereum...的合约字节码(通过合约地址标识),然后依据交易传入的ABI信息,调用合约中相应的功能;当合约中某个功能有Event调用时,字节码指令(LOG?)...会将Event参数存储在交易日志中--块链中的特殊数据结构; 该日志结构与合约地址关联,被写入块链存储且永不删除(在以太坊的Frontier、Homestead阶段,永远不会删除这些日志数据;但在Serenity...查阅的资料 Where do contract event logs get stored in the Ethereum architecture?

34710
您找到你想要的搜索结果了吗?
是的
没有找到

ethereum原理-gas说明

参数 作用 Gas(也称:GasUsed) EVM中的每个操作都指定了要消耗的gas量 Gas Price 每个操作的单价,就是说这笔交易,不只一处需要使用到Gas Gas Limit 本次交易的Gas...为了防止网络中的意外或恶意无限循环或其他计算浪费,每个交易的发起者需要设置他们愿意花费在gas上的金额的限制。...因此,gas系统阻止攻击者发送垃圾邮件交易,因为他们必须按比例支付他们消耗的计算,带宽和存储资源。...Gas 限制 每笔交易的gas是的上限的,也就是gasLimit,而每个区块只包含1250万单位的gas,超过这个上限后,交易无法打包,只能等待下一个区块再打包。...gas 预测 eth.estimateGas({from:eth.accounts[0], to:eth.account[1], value: 10}) 设置打包费用 如果站在矿工的角度上来说,怎么设置哪些需要打包哪些不需要打包

20320

怎么计算以太坊交易确认数?

以太坊和比特币一样,都有一个最长链的概念,因此也有一个交易确认数的概念。 当一个以太坊交易所在区块被新加入区块链时,该交易的确认数为1,之后每增加 一个区块,该交易的确认数加1。...显然,一个以太坊交易的确认数越多,就意味着 该交易在区块链中埋的越深,就越不容易被篡改。那么,应该如何获取一个以太坊 交易的确认数?...要获取一个以太坊交易的确认数,需要使用两个RPC调用: eth_getTransactionReceipt:获取交易收据 eth_blockNumber:获取最新区块号 首先利用eth_getTransactionReceipt...调用获取指定的交易收据,例如,下面的命令获取交易0xb903239f8543d04b5dc1ba6579132b143087c68db1b2168786408fcbce568238的收据: ~$ curl...,再加1,就可以得到一个以太坊交易的确认数了: 交易确认数 = 最新区块号 - 交易所在区块号 + 1 = 15 - 11 + 1 = 5 使用web3.js获取以太坊交易确认数 基于上面的原理,我们很容易编写

3K10

Ethereum Architecture : 以太坊架构

Ethereum Architecture 去中心化背后的想法是不依赖单一/集中式服务器. 以太坊区块链到底是什么?区块链有两个主要组成部分: 数据库:网络中的每笔交易都存储在区块链中。...例如,如果您有一个允许任何人为候选人投票的投票应用程序,那么对候选人的投票将被视为交易。所有这些交易都是公开的,任何人都可以看到并验证。这些数据永远不会被篡改。...(http://ethereum.stackexchange.com/questions/14/what-proof-of-work-function-does-ethereum-use) 代码:区块链的数据库方面只存储交易...因此,以太坊区块链不仅存储交易,还存储和执行合约代码。 所以基本上,区块链存储你的数据、存储代码并在 EVM(以太坊虚拟机)中运行代码。...(http://ethereum.stackexchange.com/questions/14/what-proof-of-work-function-does-ethereum-use) Code:

71320

Ethereum - 以太坊项目

以太坊项目进一步扩展了区块链网络的能力,从交易延伸为智能合约(Smart Contract)。 其官网首页为 ethereum.org。...使用者可通过发送调用相应合约方法的交易,由矿工的以太坊虚拟机(EVM)在区块链上执行。...Transaction:交易,从一个账户到另一个账户的消息,包括以太币或者合约执行参数。...降低攻击 设计核心思想是通过经济激励机制防止少数人作恶: 所有交易都要提供交易费用,避免 DDoS 攻击; 程序运行指令数通过 gas 来限制,所消耗的费用超过设定上限时会被取消,避免恶意合约。...+ var greeter = eth.contract(ABI).at(Address); 第九步 自毁程序 一个交易需要被发送到网络需要支付费用,自毁程序是对网络的补充,花费的费用远小于一次常用交易

1.6K71

ethereum--Account账户模型

以太坊帐户 一个以太坊帐户是一个具有以太币 (ETH) 余额的实体,可以在以太坊上发送交易。 帐户可以由用户控制,也可以作为智能合约部署。...// StateAccount is the Ethereum consensus representation of accounts. // These objects are stored in...发送交易(以太币转账、发布合约、调用智能合约) 拥有以太币余额(以太币存放的地方,与比特币的UTXO模式不同)的balance。...没有相关联的代码 关键字段 外部账户和智能合约使用的数据给构是一样的,只是外部账户只用两个字段有用: Nonce – 显示从帐户发送的交易数量的计数器。 这将确保交易只处理一次。...关键字段 Nonce – 显示从帐户发送的交易数量的计数器。 这将确保交易只处理一次。 在合约帐户中,这个数字代表该帐户创建的合约数量 Balance – 这个地址拥有的 Wei 数量。

26710

Ethereum 核心技术解读

账本 Ethereum区块链是一个去中心化的账本(数据库),网络中的所有交易都会存储在区块链中,所有节点都要本地保存一份数据,并且确保每一笔交易的可信度;所有的交易都是公开且不可篡改的,网络中的所有节点都可以查看和验证...然而,以太坊是一个去中心化的系统,那是怎么生成账户的呢?...钱包 存储和管理Ethereum账户的软件/插件称为钱包,提供了诸如交易签名、余额管理等功能。钱包生成主要有两种方式,非确定性随机生成或根据随机种子生成。...智能合约控制应用和交易逻辑,Ethereum系统中的智能合约采用专属Solidity语言,语法类似于JavaScript,除此之外,还有Vyper、Bamboo等编程语言。...完整代码可以点击这里查看:Demo 交易Ethereum中,一个典型的交易怎么样的呢?

58120

智能合约:介绍、geth、Ethereum Wallet

ethfans.org/posts/wtf-is-the-blockchain 了解一下以太坊以及智能合约等: https://ethfans.org/posts/gentle-introduction-ethereum-new-version-with-more-note...看一下 pending 为 2 表示有两笔交易已经提交,但未被处理,因为刚刚的交易还没有被写进区块,而将交易写进区块的办法是挖矿⛏ 我们可以通过交易的散列值来查看之前达成的一笔交易 看一下对应的区块...datadir 指定的目录里面添加 static-nodes.json 文件,让各个节点取得联系,具体如下: { "enode://xxxxxxxx" //boot node 的地址} 抄书了 Ethereum...Wallet Ethereum Wallet 软件去这里下载: https://github.com/ethereum/mist/releases 我新版打不开,老的版本可以,曲奇云盘: https...实现多重签名 多重签名是指需要多个人同意,交易才能生效。

1.7K31

Binance 的跨链`Ethereum`智能合约

概述 上一篇描述了Binance与Ethereum的跨链原子交换技术规范;本节将描述Binance在Ethereum中的跨链院子交换合约。...Ethereum合约源码: https://github.com/binance-chain/bep3-smartcontracts/tree/master/ethereum/contracts 合约讲解...Binance的跨链原子交换分为两种:ETH跨链原子交换合约、基于Ethereum合约的ERC20跨链原子交换合约。...在refund中,将锁定在合约地址中的指定金额返还给发送者,更新原子交换信息的状态 由合约代码可以看出,refund交易任何人都可以发送。...可以有钱包服务商/第三方服务,提供这种原子交换的服务,通过监控链上的事件,自动发送claim/refund交易,来优化用户的体验(可以给用户一种类似于锁定转账的感觉,只需要用户发送htlt交易);

37920

我是怎么从零学会量化交易

在几年前开始接触量化交易后,我掌握的语言又多了一门MQL。 ? 初识MQL ? 跟学其他语言一样,MQL我也是从看别人的代码开始学起。不过不像其他语言,有很多的参考资源和网站。...量化交易的核心逻辑 ? 实际上对于有一定代码素养的开发来说,理解量化交易最关键只需要弄明白三个东西。 【择时,出场,止损】 择时指的是在什么时候做开仓操作。出场则说的是在什么条件下选择平仓。...比如你是一个依靠指标交易的操盘手,你的择时逻辑是当看到CCI指标高于100的时候就买入一个标的。 ? CCI是反映一个商品超买或者超卖的一个指数,很多量化框架可以通过API知道某个标的的CCI值。...这是我刚开始学量化交易时写的第一段代码。再加上其他的交易逻辑,验证逻辑,大概花了一个月时间就上线了。...第一笔交易给我赚了多少钱呢,其实也不多,当时下的是一笔 0.01 手的 USDCHF多单,盈利300个小点,算下来大概3美刀多一点的利润。 ? ‍

1K30

缠论怎么交易二级市场 正确使用缠论开始及结束交易

3、规划交易策略 在确定买卖入场点后,制定具体的交易计划,包括止损和止盈的设定等,来保证交易的成功率和风险控制程度。...4、执行交易计划 严格按照交易计划执行交易,根据市场行情变化随时调整止损和止盈点位,直至交易结束,或利润到达预设的目标。...2、止损调整 当市场对交易计划不利时,我也会通过动态调整止损位,来控制风险并争取更好的收益率,简称移动止损。 3、交易时间周期 交易时间也是结束交易的一个重要考虑因素。...因此,我们需要研究缠论是否适合当前的市场特点,例如市场稳定与波动、交易量以及交易资金等。 3、缠论的优劣势如何? 在市场上,任何一个交易策略都有其优势和劣势。...5、缠论交易的风险如何控制? 缠论交易在实际操作中也存在风险,如交易时间过长等。对于这些风险,我们需要寻找有效的控制方式,例如设定严格的止损和止盈等。

48820
领券