Nền tảng Dữ liệu Chainbase là một hạ tầng dữ liệu tất cả trong một dành cho Web3, cho phép bạn lập chỉ mục, chuyển đổi và sử dụng dữ liệu on-chain quy mô lớn. Đây là một nền tảng cung cấp một bộ công cụ và dịch vụ giúp bạn xây dựng, quản lý và mở rộng các ứng dụng Web3 của mình.
Bằng cách tận dụng dữ liệu on-chain phong phú và công nghệ tính toán theo dòng dữ liệu trên một hạ tầng duy nhất, Nền tảng Dữ liệu Chainbase tự động hóa quy trình lập chỉ mục và truy vấn dữ liệu blockchain, cho phép các nhà phát triển hoàn thành các tác vụ dữ liệu phức tạp một cách dễ dàng. Các nhà phát triển có thể truy cập dữ liệu on-chain mới nhất với độ trễ thấp.
BigQuery là một nền tảng dữ liệu được quản lý hoàn toàn và sẵn sàng cho AI, giúp bạn quản lý và phân tích dữ liệu của mình với các tính năng tích hợp như học máy, tìm kiếm, phân tích không gian địa lý và trí tuệ kinh doanh. Tính năng streaming của BigQuery hỗ trợ liên tục đưa dữ liệu vào và phân tích, trong khi công cụ phân tích phân tán, có khả năng mở rộng của BigQuery cho phép bạn truy vấn hàng terabyte trong vài giây và hàng petabyte trong vài phút.
Bằng cách tận dụng hỗ trợ streaming của BigQuery, chúng ta có thể đưa dữ liệu từ Nền tảng Dữ liệu Chainbase vào BigQuery mà không làm mất tính mới của dữ liệu. Ngoài ra, các nhà phát triển cũng có thể tích hợp dữ liệu từ Nền tảng Dữ liệu Chainbase với quy trình làm việc của họ trên BigQuery.
Tiếp theo, chúng tôi sẽ giới thiệu cách tích hợp Nền tảng Dữ liệu Chainbase và BigQuery qua hai kịch bản cụ thể:
Truy xuất tỷ lệ nắm giữ của token ERC-20.
Phân tích các nhà giao dịch hàng đầu trên Uniswap V3 và theo dõi hoạt động giao dịch của họ.
Truy xuất Tỷ lệ Nắm giữ của Token ERC-20
Tổng quan
Tỷ lệ nắm giữ của token ERC-20 thể hiện sự phân phối của một token cụ thể giữa các địa chỉ ví khác nhau trên blockchain. Thông số này rất quan trọng để hiểu về mức độ phi tập trung của token, sự tập trung của các nhà đầu tư và sức khỏe thị trường tổng thể.
Tỷ lệ nắm giữ của token ERC-20 cung cấp những hiểu biết có giá trị về hệ sinh thái của token, giúp các bên liên quan đưa ra các quyết định thông minh và duy trì tính toàn vẹn của thị trường.
Giải pháp trên BigQuery
Để tính toán tỷ lệ nắm giữ của token ERC-20, điều cần thiết đầu tiên là làm sạch và chuẩn bị một bảng cân đối token ERC-20 đầy đủ. Quá trình làm sạch dữ liệu này thường phức tạp và đòi hỏi nhiều nỗ lực. Nền tảng Dữ liệu Chainbase đã hoàn thành thành công nhiệm vụ làm sạch dữ liệu này và sử dụng khả năng đồng bộ hóa theo thời gian thực của BigQuery để chuyển dữ liệu đã làm sạch vào BigQuery. Sự đồng bộ hóa dữ liệu theo thời gian thực này đảm bảo tính mới của dữ liệu, điều này rất quan trọng cho việc phân tích dữ liệu chính xác và đưa ra quyết định kinh doanh thông minh. Bằng cách tận dụng dữ liệu của Chainbase, các nhà phát triển trên BigQuery có thể tích hợp liền mạch thông tin cập nhật này vào quy trình làm việc và hệ thống BI của họ, giúp tăng cường đáng kể khả năng phân tích dữ liệu và trí tuệ kinh doanh.
Sử dụng các số dư ERC-20 trên Ethereum làm ví dụ, cấu trúc của chainbase_erc20_balances là:
Các nhà phát triển có thể viết SQL như sau để lấy tỷ lệ nắm giữ của token ERC-20:
WITH amount_conversion AS (
SELECT
wallet_address,
CAST(amount AS DECIMAL) AS amount
FROM
`datasets-431007.public.chainbase_erc20_balances`
WHERE
contract_address = '0x8802269d1283cdb2a5a329649e5cb4cdcee91ab6'
),
total_amount AS (
SELECT
SUM(amount) AS total_amount
FROM
amount_conversion
),
sorted_amounts AS (
SELECT
wallet_address,
amount,
ROW_NUMBER() OVER (ORDER BY amount DESC) AS row_num,
COUNT(*) OVER () AS total_count
FROM
amount_conversion
),
percentile_calculation AS (
SELECT
wallet_address,
amount,
row_num,
total_count,
CASE
WHEN row_num <= total_count * 0.1 THEN 'Top 10%'
WHEN row_num <= total_count * 0.3 THEN 'Top 30%'
WHEN row_num <= total_count * 0.5 THEN 'Top 50%'
ELSE 'Other'
END AS percentile_group
FROM
sorted_amounts
),
percentile_sums AS (
SELECT
percentile_group,
SUM(amount) AS group_amount
FROM
percentile_calculation
WHERE
percentile_group IN ('Top 10%', 'Top 30%', 'Top 50%')
GROUP BY
percentile_group
)
SELECT
percentile_group,
group_amount,
(group_amount / total_amount.total_amount) * 100 AS percentage_of_total
FROM
percentile_sums, total_amount
order by percentile_group
;
Kết quả của SQL cho thấy rằng 10% ví hàng đầu nắm giữ token FIGHT (0x8802269d1283cdb2a5a329649e5cb4cdcee91ab6) nắm giữ phần lớn token (khoảng 95.31%).
Theo dõi nhà giao dịch hàng đầu trên Uniswap V3 và phân tích hoạt động giao dịch của họ
Theo dõi nhà giao dịch hàng đầu trên Uniswap V3 và phân tích hoạt động giao dịch của họ là một công cụ vô giá cho các nhà đầu tư và nhà phân tích muốn theo dõi “smart money” – vốn được điều khiển bởi các nhà đầu tư dày dạn kinh nghiệm và các chuyên gia có hiểu biết sâu rộng về thị trường. Việc giám sát các mô hình và chiến lược giao dịch của những nhà giao dịch hàng đầu này mở ra cơ hội độc đáo để nắm bắt những hiểu biết và chiến lược của những người tham gia thị trường thành công nhất. Điều này có thể dẫn đến các quyết định chiến lược hơn, quản lý rủi ro tốt hơn, và cuối cùng là cải thiện kết quả đầu tư.
Phân tích nhà giao dịch hàng đầu trên Uniswap V3
Ví dụ, sử dụng token FIGHT (0x8802269d1283cdb2a5a329649e5cb4cdcee91ab6) trên Ethereum, bạn có thể phân tích nhà giao dịch hàng đầu từ bảng chainbase_ethereum_uniswap_v3_trader
.
SQL để lấy nhà giao dịch hàng đầu là:
select
*
from
`datasets-431007.public.chainbase_ethereum_uniswap_v3_trader`
where
contract_address = '0x8802269d1283cdb2a5a329649e5cb4cdcee91ab6'
order by
total_amount_usd desc
limit
10;
Kết quả dưới đây sẽ hiển thị 10 nhà giao dịch hàng đầu của token FIGHT.
Phân tích hoạt động giao dịch của nhà giao dịch hàng đầu
Sau khi xác định các nhà giao dịch hàng đầu, các nhà phát triển có thể lấy hoạt động giao dịch của họ từ bảng chainbase_ethereum_uniswap_v3
.
Ví dụ, sử dụng nhà giao dịch 0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad
:
SELECT
transaction,
timestamp,
pool,
token_0_symbol,
token_1_symbol,
sender,
origin
FROM `datasets-431007.public.chainbase_ethereum_uniswap_v3`
WHERE sender='0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad'
AND token_1_symbol = 'FIGHT'
ORDER BY timestamp DESC
LIMIT 100
;
Kết quả sẽ hiển thị các giao dịch của nhà giao dịch này.
Theo dõi hoạt động giao dịch của nhà giao dịch hàng đầu
Ngoài việc phân tích các giao dịch của nhà giao dịch hàng đầu qua BigQuery, các nhà phát triển cũng có thể sử dụng Pub/Sub để theo dõi giao dịch của nhà giao dịch hàng đầu theo thời gian thực.
Chủ đề Pub/Sub của các hoạt động giao dịch Uniswap V3 là chainbase_ethereum_uniswap_v3_activities
. Các nhà phát triển có thể tạo một đăng ký trên chủ đề này.
Sau đó, các nhà phát triển có thể nhận được các hoạt động thời gian thực từ đăng ký này và cũng có thể lọc ra các nhà giao dịch cụ thể.
Cấu trúc của thông báo giống như bảng chainbase_ethereum_uniswap_v3
. Một ví dụ thông báo như sau:
{
"token_0_decimals": 18,
"sqrt_price_x96": "8005339006224852690586023520712",
"origin": "0xdd9c018cdd41919a429886ce90ddf4f32f8269db",
"token_1_name": null,
"amount_usd": "5583.586366589651025751983060374842",
"token_1_symbol": null,
"token_0_total_supply": 2753097348751067167321776,
"vid": 59838882,
"token_1_total_supply": null,
"block$": 20473730,
"id": "0x05f5f3280bcc600c0474fb7dbbf83d400ab9095c4c65030dc71324474271762e#47756",
"timestamp": [
2024,
8,
7,
2,
32,
35
],
"token_0_name": "Wrapped Ether",
"pool": "0xbe24f9952bf2a15bc4d2661151049d9588d6c0cb",
"token_1_decimals": null,
"tick": "92315",
"amount_1": "-22457.544567184000305417",
"log_index": "137",
"token_0_total_value_locked": 3623,
"amount_0": "2.215792400570866358",
"token_1_total_value_locked": null,
"token_0_symbol": "WETH",
"sender": "0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad",
"recipient": "0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad",
"token_0": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
"token_1": "0xf94e7d0710709388bce3161c32b4eea56d3f91cc",
"pk": 59,
"transaction": "0x05f5f3280bcc600c0474fb7dbbf83d400ab9095c4c65030dc71324474271762e"
}