用于访问Filecoin链数据的Python客户端。
项目描述
mercury-py
mercury-py
是一个Python包,简化了与存储在BigQuery上的历史Filecoin链数据的交互。
Mercury客户端的结果是pandas.DataFrame
对象。
先决条件
安装gcloud
CLI。
对于homebrew
用户
brew install --cask google-cloud-sdk
其他安装方法请点击这里。
安装
pip安装mercury-fil
使用
确保您已认证:gcloud auth login
。您还需要位于正确的项目中:gcloud config set project protocol-labs-data
。
💡 只查询您需要的列(以及高度范围)。查询费用为$6.25/TB。
简单API
fevm_contracts
和derived_gas_outputs
方法只有两个必需的参数,即start_height
和end_height
。
查询所有高度的成本很高,因此请确保您**只查询您需要的**高度。这些表在BigQuery中以height
为间隔3000
分区。
API默认为试运行,因此它会在您决定是否运行查询作业之前计算将要处理的字节数。
>>> from mercury import Client
>>> client = Client()
>>> df = client.fevm_contracts(start_height=2683348, end_height=2683348+2880)
>>> df
'0.1322889 GiB'
>>> df = client.fevm_contracts(start_height=2683348, end_height=2683348+2880, dry_run=False)
height eth_address byte_code balance
0 2684783 0x8b9ebed1f4a0892097b913ba938c069330652947 60806040526004361061004a5760003560e01c806363a5... 0E-9
1 2684264 0x719e14fcb364bb05649bd525eb6c4a2d0d4ea2b7 6080604052600436106100a05760003560e01c8063313c... 2212000000000000000.000000000
2 2684238 0x719e14fcb364bb05649bd525eb6c4a2d0d4ea2b7 6080604052600436106100a05760003560e01c8063313c... 2211000000000000000.000000000
3 2684210 0x719e14fcb364bb05649bd525eb6c4a2d0d4ea2b7 6080604052600436106100a05760003560e01c8063313c... 1211000000000000000.000000000
4 2684204 0x719e14fcb364bb05649bd525eb6c4a2d0d4ea2b7 6080604052600436106100a05760003560e01c8063313c... 1201000000000000000.000000000
... ... ... ... ...
3657 2685897 0x8f81929b4b8e0a76d13e90dfb5d2316a4a163d26 6080604052600436106101e35760003560e01c80635c97... 58400000000000000000.000000000
3658 2685891 0x8f81929b4b8e0a76d13e90dfb5d2316a4a163d26 6080604052600436106101e35760003560e01c80635c97... 57400000000000000000.000000000
3659 2685887 0x8f81929b4b8e0a76d13e90dfb5d2316a4a163d26 6080604052600436106101e35760003560e01c80635c97... 53400000000000000000.000000000
3660 2685716 0x8f81929b4b8e0a76d13e90dfb5d2316a4a163d26 6080604052600436106101e35760003560e01c80635c97... 49400000000000000000.000000000
3661 2685132 0x8f81929b4b8e0a76d13e90dfb5d2316a4a163d26 6080604052600436106101e35760003560e01c80635c97... 47400000000000000000.000000000
[3662 rows x 4 columns]
>>> df = client.derived_gas_outputs(start_height=0, end_height=2880, dry_run=False)
>>> df
height from to value method gas_used
0 315 f3ro3i54tule2vtdcsjdkzjkf6djx3wwe5znv5h4kwxprx... f05 0E-9 4 29167738
1 2150 f3sqdk3xwrfrxb77upn4jjnqzamoiuzmykavyguodsmxgh... f05 0E-9 4 39859680
2 2119 f3qcagyij6lb7ixssn5vxgrqekike2ujcn7b7v5jci4foq... f05 0E-9 4 42993922
3 1743 f3r6vel3cnsvc4ct2zymfxorxz5by4rc5tuwjb3ykbl4cn... f07919 1000.000000000 5 382976458
4 2592 f3qjn4pqvipuaxyjigcbzp4zn5625646ogbqwuzmakgx5q... f03362 1000.000000000 5 380578332
... ... ... ... ... ... ...
675645 342 f3uxgextdo6bmkn5ax3gtfn6t3j3js5ywnojwpmc7suhyp... f04 0E-9 2 16488846
675646 342 f3uxgextdo6bmkn5ax3gtfn6t3j3js5ywnojwpmc7suhyp... f04 0E-9 2 16844158
675647 342 f3uxgextdo6bmkn5ax3gtfn6t3j3js5ywnojwpmc7suhyp... f04 0E-9 2 16563776
675648 342 f3uxgextdo6bmkn5ax3gtfn6t3j3js5ywnojwpmc7suhyp... f04 0E-9 2 16691916
675649 2051 f16aum7jrmrwa7aqr2d5feu7on4emsgqh2gmxdf7q f04 0E-9 2 16382158
[675650 rows x 6 columns]
选择列
BigQuery是一个列式数据存储,这意味着数据按列存储在磁盘上。例如,derived_gas_outputs.method
列将按如下方式存储
| method | 4 | 4 | 4 | 5 | 5 | 2 | 2 |
因此,通过列读取表中的多个记录更为高效。由于一列通常包含相当数量的数据(以字节为单位),如果你选择表中所有列,查询可能会变得昂贵。财务成本是默认情况下,在 fevm_contracts
和 derived_gas_outputs
方法中不包含lilium.sh
列表中的所有列的原因。
要选择你需要的列,你需要传递一个包含那些列名的元组。例如
>>> df = client.fevm_contracts(start_height=2683348, end_height=2683348+2880, columns=("height", "actor_id", "byte_code_hash"), dry_run=False)
>>> df
height actor_id byte_code_hash
0 2684783 f410fropl5upuucesbf5zco5jhdagsmygkkkhgifa3pi 36cdf3ab5e4b065b46d89eb1b595da8acdbb725520983d...
1 2684264 f410fogpbj7ftms5qkze32us6w3ckfugu5ivx4eoycoi af58eb543e44897848df115f2276f7b5ffc12fa068de8c...
2 2684238 f410fogpbj7ftms5qkze32us6w3ckfugu5ivx4eoycoi af58eb543e44897848df115f2276f7b5ffc12fa068de8c...
3 2684210 f410fogpbj7ftms5qkze32us6w3ckfugu5ivx4eoycoi af58eb543e44897848df115f2276f7b5ffc12fa068de8c...
4 2684204 f410fogpbj7ftms5qkze32us6w3ckfugu5ivx4eoycoi af58eb543e44897848df115f2276f7b5ffc12fa068de8c...
... ... ... ...
3657 2685897 f410fr6azfg2lryfhnuj6sdp3lurrnjfbmpjgwco5svi a48a535d2921613878ca9393b62022db4e2caaafd5a23f...
3658 2685891 f410fr6azfg2lryfhnuj6sdp3lurrnjfbmpjgwco5svi a48a535d2921613878ca9393b62022db4e2caaafd5a23f...
3659 2685887 f410fr6azfg2lryfhnuj6sdp3lurrnjfbmpjgwco5svi a48a535d2921613878ca9393b62022db4e2caaafd5a23f...
3660 2685716 f410fr6azfg2lryfhnuj6sdp3lurrnjfbmpjgwco5svi a48a535d2921613878ca9393b62022db4e2caaafd5a23f...
3661 2685132 f410fr6azfg2lryfhnuj6sdp3lurrnjfbmpjgwco5svi a48a535d2921613878ca9393b62022db4e2caaafd5a23f...
[3662 rows x 3 columns]
与只查询你需要的范围内的数据一样,只选择你需要的列。
支持的表
fevm_contracts
derived_gas_outputs
miner_sector_events
miner_sector_infos
contributing
要贡献力量,你需要使用 Poetry 安装依赖项。
要运行测试,只需运行 pytest
。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源分发
构建分发
mercury_fil-0.1.4.tar.gz 的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 39a264c1aba93b5f45e2b409008b62c1105424ac34e52bac00804ee10cee497b |
|
MD5 | ebcee80b523cad65d065539ce624e835 |
|
BLAKE2b-256 | 9be1dc5827146174a7cf4cfaa522ebc6bed38803fa2d9bb757d016b2add5d87b |
mercury_fil-0.1.4-py3-none-any.whl 的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 10868c23cad824f6659002fc7647955ff77ec95f7374d34fd3ce8d5a913a40f6 |
|
MD5 | 1839535713deada7e6bbf6f50805755e |
|
BLAKE2b-256 | ee6b291b691ba9aed747f32d50c6cbd90cb761b079352ddb7cb0f4f63256b46c |