Ethereum JSON RPC usage example

import pandas as pd

%load_ext restmagic

pd.set_option('display.max_colwidth', -1)
# Helpers
hex_num = lambda v: int(v, 16)
wei_to_gwei = lambda v: v / 10 ** 9
wei_to_ether = lambda v: v / 10 ** 18

Get latest block

%%rest -q
POST  https://mainnet.infura.io/
Content-Type: application/json
    
{
    "jsonrpc": "2.0",
    "method": "eth_getBlockByNumber",
    "params": ["latest", true],
    "id": 1
}
<Response [200]>
r = _
result = r.json()['result']
print("Latest block number: {}".format(hex_num(result['number'])))
transactions = result['transactions']
Latest block number: 6319875
df = pd.DataFrame(transactions, columns=['hash', 'gas', 'gasPrice', 'value'])
df['Gas limit'] = df['gas'].apply(hex_num)
df['Gas price, Gwei'] = df['gasPrice'].apply(lambda v: wei_to_gwei(hex_num(v)))
df['Value, Ether'] = df['value'].apply(lambda v: wei_to_ether(hex_num(v)))
df = df[['hash', 'Gas limit', 'Gas price, Gwei', 'Value, Ether']]
df.hist(figsize=(20, 12))
array([[<matplotlib.axes._subplots.AxesSubplot object at 0x7fb2f1942400>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fb2b91dc240>],
       [<matplotlib.axes._subplots.AxesSubplot object at 0x7fb2b9184898>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x7fb2b912ef28>]],
      dtype=object)
../_images/ethereum_7_1.png
df.describe()
Gas limit Gas price, Gwei Value, Ether
count 1.320000e+02 132.000000 132.000000
mean 2.679596e+05 18.430428 8.929126
std 8.211192e+05 26.279389 72.766633
min 2.100000e+04 4.000000 0.000000
25% 2.100000e+04 5.000000 0.000000
50% 7.306200e+04 9.800000 0.000075
75% 2.000000e+05 20.000000 0.531873
max 7.000000e+06 201.152249 828.600000
df = df[df['Value, Ether'] > 0]
print("Transfers, for {:.2f} Ether in total".format(df['Value, Ether'].sum()))
df
Transfers, for 1178.64 Ether in total
hash Gas limit Gas price, Gwei Value, Ether
3 0xb84e4ae200e30d2f53c913ca9fb2ca4af0c56581a3542ae3f3ae5a2f97a67eb7 1000000 60.000000 1.000000
5 0x498afb5c85bc6b3b0385764e80f0c17a3dc089ef173b07eb9745598fa4cd80a3 166666 50.000000 0.048989
8 0x4c722e0f5d17971e4bad50be5e85a3bea783d4e1612300a768f7135b65a5f1a4 21000 50.000000 19.990000
9 0xe4a974205de6e4aed2c12a70a0d4df94e191ecd2e72c9a1d2eb53741be32f37f 150000 50.000000 0.204087
11 0x37e0c5f2ee6b7af4fc148b607ae231ae98e7e4d1c84e457954499d26597e3056 21000 45.000000 2.299000
12 0x004fa8f527c6f38bd3251e9006c90beead706b5817e38d98777960c6a2451e4b 21000 45.000000 79.990000
13 0xaf2ef7e72098d315377fb240138cbd42a95a099907036040a02f298c8521f82f 21000 45.000000 0.758000
14 0xda2436f8ecaef7de9e641d6918d2943c219b6ff3dffebcca6bffa39de18646b6 21000 45.000000 0.057000
16 0x614bc69fa7ec2500f577c02b3254ba570049066af110af7e6595acd49dd07912 21000 41.000000 2.998278
17 0x121de042bc3315adbc66a50d54401e3a5eaf28aaf8a07237f726d5a014fff42f 21000 41.000000 1.000000
18 0x3237ceeb749beb3880a80cf5789153493fd2a54a4852d38666ab3ebfc7cfae73 21000 40.000000 1.999160
19 0x8fa1f851198138501e356a2569fa7faa4c407ef41a6c9b6453bf6d466ca579df 21000 31.000000 1.020000
23 0x455543e7e68245ecc33dc757ecd04b664426031ec3ce1d6acb51d8a8966baef6 90000 24.000000 0.000500
24 0x5d28a736372aca7630cd2cf5365aa8a4ccc2a42f138dbc887f356eb857eeb8bd 21000 23.000000 3.555654
25 0x9ecb24b0091e69e2a999c729b7fe2fb47ef294bde5c6462768956d351e8ee3b8 21000 23.000000 0.088166
26 0xec2810c646e6cde4567d9455cc8905c4681e808a4d47c519f31a2229cdb51478 250000 22.000000 50.000000
34 0xea6305cce8e326664049cd6b4a9d42ebd079e9525260ac9ea63b3007d80830ee 21000 20.000000 0.049684
37 0x74257d55baa779e0362b17060c3540a6e5a632c6d888192545bd2f91679ab5ec 90000 20.000000 5.153100
38 0xb81c7da47ec3e3ab6668a14ecb0740e6cab53ad59890f0c8768559d6de5978c2 90000 20.000000 828.600000
39 0xa90269a9d3825d2cdc10f22264dd4e01c509fdd4b056ac0263b35846acb88e13 21000 20.000000 0.490902
40 0x44c0fbbee22df6c6b69839aba972ec6c89e95b0a66b4451f2a769d417e71b3f8 150000 18.000000 0.040000
41 0xaa4a99e040eee7768341ad71a9d5376444eff9af38791082bd9cc52737810d47 21000 17.000000 1.000000
42 0x25a4a39a41725c9cbecce7cc4e07340592d3d40e90bac5f474a3731aa987fa5e 21000 16.500000 2.184057
45 0x3acaaa1b0a3a86a5838421a4cd43d26aa80b2002f21c459fa395f3aa188ee469 21000 15.000000 0.050033
46 0xc46384a73c6fbd0f610a396510a2fc65b2f533b319b323beea72f853af703210 21000 15.000000 3.295069
47 0xb12b7d01dea860061b0f22a38113339d21ee666fdc6cb568db6b5c6f26b1b12c 21000 15.000000 0.697415
48 0xf3785f689a668016a3ba0192e5afad60080b477bee770ea6ac88f14dcdfecc4b 21000 15.000000 0.061652
49 0xd6eccd4e5a4b9d87701c4a2752dcd37cbd22ce0d382c3a6cedec588498e6118d 21000 15.000000 0.514767
50 0xd745b8114094f605e7cdfe881b785984ab0a3ac96fca6b9e4a82b72831f7be92 21000 15.000000 7.719370
51 0xa5b401c3425ac0f59c494536f2df20e91b2a77746f6a09df0ace3c2a4e7d9129 21000 15.000000 0.623199
... ... ... ... ...
64 0xf207136acdd280555e37d0b30f9c86736f2c1a9dc3f5c821f094abcc964e2776 21000 10.000000 0.000257
65 0x08dc618c1342c40bc15c4bd550dda5112b094cca81533a768cdbd29197263d31 121000 10.000000 0.244042
66 0x5921d58d6865135bd2a27a744385c4e44a3c25a7f545080c5b0e5a183fc62945 42000 9.600000 0.006000
71 0xbc093f627743283b4c10d24a0057c87b2513b07d8a8072d50602378a0ffaadbc 42000 7.200000 0.049853
72 0xeb69ef30f05efdc05cb348a9fedff809e885b2ef7079b07692a4c46412948337 42000 7.200000 0.049838
73 0x6c73de7a2c52eebe591658946140485e1c6cf9d26344c1ef55411111976b5c3c 21000 7.000000 8.106253
75 0x996eefd75273df1db76a97aff9e6dcac5a763bc9e988e19c72ea0b4a458906a9 75000 6.860000 0.583190
82 0xcfd46c908a754703488d2bac160a20473f622f38a1792185bffd5ee99ea95881 119977 6.000000 0.008000
86 0x7c738764f240c6cdbcd3e5a6aa898419e8ac5f26dd38fdb89a7d7d0829053c9b 231000 6.000000 0.010000
88 0xacd3bb9205ec72cb6c22ecf3ff16abf1957bf4ae0fddbc13b2e1b6205cc36a50 73000 5.900000 0.000254
90 0xfed17a92ec178f0d61db3cd4f215c5a92e2c79fa7c040fdf61e2ff89c897d2ef 119902 5.800000 0.008000
92 0x0ad930874bff418146cabf87fb63166fed8e4ce5c92bacf8195d65a1b9be8bc8 21000 5.100000 0.450000
93 0x07c45060b7395e40c86f8bf1a4f0c084745bd89232c1b8206c84cff30a275998 25200 5.000000 0.000051
96 0xb31fa461671948cd8a58a6dee8f95b75f98afb4d8dbab345c640061e5a049a0f 21000 5.000000 1.476808
97 0x62dae2149dde1fd6ca434df47e6809c694bea47d44dcacae2ab12918777e5772 25200 5.000000 0.000125
98 0xa46c731610cad88a31002e8c654b0d4960d296d5d40ae6a857dd2170638a6175 541710 5.000000 0.050000
105 0xc9ffb54ffdd3f9c9f8b99ec4d2ae1ed8962f6840344858e8971f9bad3e180ad7 25200 4.800000 0.000010
106 0xcf8283019f97bc156c64d0f4dfd949c49983127a4a0ed2ee7624c9f88dd8dbcb 25200 4.800000 0.000010
108 0xe657de5cfd86af5ce92cef757adf405e6971cf1a9985d13a2c4014ae54828790 25200 4.800000 0.000003
110 0xcc66bde62404a3cb8d39cb1a27145da1f20bdff356b95dcf9f1ddb2b9f56678d 119977 4.800000 0.008000
112 0x0df95cc20aa1036da5945d7e5df5a997c5420be7ed31f48d5cbc183d04a58425 228948 4.800000 0.994753
113 0x1fefaeb9be8754b21eb3e83a629f705fdff832971fdd3b0513ae7bddaae25c94 25200 4.800000 0.000027
115 0x422f04b06d7e15c722d49bf69c8dff9a589cd8879c99075fcb5e5a3c5371f4a0 21000 4.761905 0.049913
116 0x79a89751a38cada9fcfb48c1fd696e580107ed64abb8c7cd56f8833d2e55f293 21000 4.601000 0.000100
117 0x44c6a175918a74fe06cad151bbf23eb9c05ac75fd89459752fa46f1f17fc4636 21000 4.601000 0.000100
118 0xded66f4fe4af4a7a90bfeae9e8acb4da885e0754e35fac34cc14fcf9629f2e11 21000 4.601000 0.000100
119 0xc43c9a7c208987be225a514c78a8c184128ff73d7de3fb296d3fab81b48ad4fc 21000 4.601000 0.000100
128 0x79a6955039e2f9c88321435f93adccb017e036e45825a59f87262b16488ffae0 21000 4.000000 1.607345
129 0x936c788ec2b728c69d5992a89d410b650fbb36cf9d4a10e5e4c0c3e3abb511c4 21000 4.000000 75.373544
131 0x7a75abac54839e753978db78445b2e6d520726fcf021f03aa9065bec6401466f 21000 4.000000 0.000600

71 rows × 4 columns