API tiền điện tử của Nobody
Giới thiệu
Khởi tạo các địa chỉ - Gửi, nhận tiền điện tử - Cập nhật tỷ giá theo thời gian thực. Hiện tại đã hỗ trợ: Bitcoin, Ethereum, Binance Smart Chain và TRON.
Từ các startup cho đến những doanh nghiệp lớn, hàng ngàn đơn vị đang sử dụng API của Nobody để xây dựng, vận hành và phát triển ứng dụng kết nối với các mạng lưới tiền điện tử.
Tài liệu này vẫn đang được cập nhật với mong muốn cải thiện và phục vụ tốt nhất cho cộng đồng lập trình viên.
Các API trong tài liệu này đã hoàn chỉnh và có thể sử dụng được ngay. Nếu bạn có bất kỳ câu hỏi nào, vui lòng liên hệ với chúng tôi qua [email protected].
Bắt đầu
Endpoint
Endpoint là cổng giúp bạn kết nối và đọc ghi dữ liệu với blockchain. Để hiểu rõ hơn, bạn có thể chạy thử ETC Client, đây là 1 private endpoint chạy ở local và thường được chạy với đường dẫn http://localhost:8545
.
Có nhiều public endpoint được cung cấp miễn phí cho cộng đồng hoặc dưới dạng dịch vụ (có thu phí). Nếu bạn từng sử dụng MetaMask thì bản thân MetaMask là 1 client và cũng kết nối với blockchain qua 1 public endpoint. À, public endpoint đơn giản là endpoint kết nối đến mạng lưới blockchain mà cả thế giới đều đang sử dụng (sổ cái chung), còn private endpoint nghĩa là cục bộ và không dính dáng gì đến thế giới cả (chỉ dùng cho nội bộ mà thôi). Endpoint trong tài liệu này mặc định sẽ được hiểu là public endpoint.
Bạn có thể chọn một trong các endpoint được giám sát theo thời gian thực tại ChainList.org.
Đây là một vài endpoint miễn phí mà bạn có thể sử dụng ngay bây giờ:
Network | Endpoint |
---|---|
Ethereum Mainnet | https://cloudflare-eth.com/ |
Binance Mainnet | https://bsc-dataseed.binance.org/ |
Binance Testnet | https://data-seed-prebsc-1-s1.binance.org:8545/ |
TRON Mainnet | https://api.trongrid.io |
TRON Shasta Testnet | https://api.shasta.trongrid.io |
TRON Nile Testnet | https://nile.trongrid.io |
Postman
Cách đơn giản nhất để hiểu cách sử dụng API là thông qua Postman. Tất cả các API của chúng tôi đều được công khai ở đây:
Sử dụng như thế nào?
- Liệt kê tất cả các API kèm theo ví dụ cụ thể.
- API sẽ sử dụng phương thức GET hoặc POST.
- Trong URL của API, biến
{{url}}
chính làhttps://api.nobody.network
.
- Params, Headers và Body có chứa dữ liệu đầu vào:
- Headers: Một số API yêu cầu
endpoint
để kết nối. Endpoint là URL sử dụng giao thức HTTPS hoặc WWS. Bạn có thể đăng ký endpoint tại: chainstack.com, quicknode.com…
- Params: Dữ liệu đầu vào với giao thức GET.
- Body: Dữ liệu đầu vào dạng JSON với giao thức POST.
- Headers: Một số API yêu cầu
- Dữ liệu trả về ở định JSON:
- success:
false
là thất bại vàtrue
là thành công.
- message: Mô tả thêm cho dữ liệu trả về.
- data: Tất cả dữ liệu trả về.
- success:
Hiểu rõ link của API
Giả sử bạn muốn gọi API để tạo ra 1 tài khoản Bitcoin. Bạn sẽ thấy:
- Link ở Postman:
{{btc}}
/accounts/create
- Link API trong tài liệu này: accounts/create
⇒ Thật ra, link đầy đủ của API là https://api.nobody.network/btc/accounts/create
Dựa theo Postman, chúng ta sẽ có các biến theo bảng sau:
Biến | Giá trị |
---|---|
{{btc}} | https://api.nobody.network/btc |
{{eth}} | https://api.nobody.network/eth |
{{bnb}} | https://api.nobody.network/bnb |
{{trx}} | https://api.nobody.network/trx |
Hiểu rõ phương thức và tham số đầu vào
Tất cả các API đều sử dụng phương thức GET
hoặc POST
và cần truyền kèm theo endpoint trong header.
- Đối với
GET
:- Tham số đầu vào truyền trực tiếp vào link của API.
- Ví dụ:
{{btc}}
/getBalance?address=1KFHE7w8BhaENAswwryaoccDb6qcT6DbYY
- Đối với
POST
:- Tham số đầu vào là mảng dữ liệu dưới định dạng JSON.
- Ví dụ:
{ "privateKey": "cQzBv6xAYoFeLwsPB1mTBYJhHdsmNArzAFncJacocog1X4JrnkCt", "to": "1CaCSEwHJHyHK1g9eLwGHYp99KquBkarzL", "amount": "0.0005" }
Hiểu rõ hơn dữ liệu trả về
Tất cả API đều trả về dữ liệu dưới dạng JSON với thuộc tính success
, message
và data
.
Bạn cần đưa JSON về mảng, sau đó dựa vào thuộc tính success
để xác định xem API có trả về true
hay không.
{ "success": true, "message": "What happened?", "data": [] }
Thuộc tính message
sẽ cho biết error_message
hoặc success_message
, giúp bạn hiểu rõ chuyện gì đang diễn ra.
{ "success": false, "message": "Invalid hash.", "data": "" }
Các API thường dùng
POST
accounts/create
Tạo 1 tài khoản với địa chỉ và private key.
Trả về
address
: Địa chỉ của tài khoản để nhận coin hoặc token.
privateKey
: Chuỗi bí mật tương tự như mật khẩu, bạn cần nó để thực hiện các giao dịch chuyển tiền. BẠN CẦN BẢO MẬT VÀ KHÔNG CHIA SẺ VỚI BẤT KỲ AI.
POST
accounts/privateKeyToAccount
Xác định địa chỉ của tài khoản từ private key.
Đầu vào
privateKey
: Chuỗi bí mật.
- [Không bắt buộc]
ignoreLength
-Boolean
: Nếu đặttrue
thì sẽ không kiểm tra độ dài củaprivateKey
.
Trả về
address
: Địa chỉ của tài khoản để nhận coin hoặc token.
privateKey
: Chuỗi bí mật mà bạn đã truyền vào ở đầu vào.
GET
getBalance
Kiểm tra số dư của 1 tài khoản.
Headers
endpoint
: URL của public endpoint để kết nối với blockchain.
Đầu vào
address
: Địa chỉ của tài hoản cần kiểm tra số dư.
Trả về
- Số dư của tài khoản.
GET
getTransaction
Lấy thông tin của 1 giao dịch dựa vào hash.
Headers
endpoint
: URL của public endpoint để kết nối với blockchain.
Đầu vào
transactionHash
: Truyền vào hash, tức mã của giao dịch.
Trả về
basic
: Các thông tin hữu ích thường dùng.mined
-Boolean
: Cho biết giao dịch này có phát sinh từ việc đào coin hay không.
from
: Địa chỉ của tài khoản gửi.
to
: Địa chỉ của tài khoản nhận.
value
: Số lượng coin.
fee
: Phí giao dịch tính theo coin.
tokenTransfer
: Thông tin của giao dịch chuyển token.contractAddress
: Địa chỉ của hợp đồng thông minh.
from
: Địa chỉ của tài khoản gửi.
to
: Địa chỉ của tài khoản nhận.
value
: Số lượng token.
transaction
: Các thông tin của giao dịch.
transactionReceipt
: Biên nhận có thông tin của giao dịch.
GET
getGasPriceInGwei
Trả về phí giao dịch với đơn vị gwei. Phí giao dịch được xác định bởi phí trung bình của một vài khối cuối cùng.
Headers
endpoint
: URL của public endpoint để kết nối với blockchain.
Trả về
- Phí hiện tại với đơn vị gwei.
POST
transfer
Chuyển coin đến 1 tài khoản.
Headers
endpoint
: URL của public endpoint để kết nối với blockchain.
Đầu vào
privateKey
: Chuỗi bí mật của tài khoản sẽ gửi coin đi.
to
: Địa chỉ của tài khoản nhận coin.
value
: Số lượng coin cần chuyển.
gasPriceInGwei
: Số lượng gwei mà bạn sẵn sàng chi cho mỗi đơn vị Gas (đơn vị phí).
gasLimit
: Số lượng Gas tối đa mà bạn sẵn sàng chi cho giao dịch này.
Trả về
transactionHash
: Mã hash của giao dịch sau khi chuyển coin.
GET
[token]/getBalance
Kiểm tra số dư token của 1 tài khoản.
Headers
endpoint
: URL của public endpoint để kết nối với blockchain.
Đầu vào
contractAddress
: Hợp đồng thông minh của token.
address
: Địa chỉ của tài khoản cần kiểm tra số dư.
Trả về
- Số dư token hiện tại của tài khoản.
POST
[token]/transfer
Chuyển token đến 1 tài khoản.
Headers
endpoint
: URL của public endpoint để kết nối với blockchain.
Đầu vào
contractAddress
: Hợp đồng thông minh của token.
privateKey
: Chuỗi bí mật của tài khoản sẽ gửi coin đi.
to
: Địa chỉ của tài khoàn nhận token.
value
: Số lượng token cần chuyển.
gasPriceInGwei
: Số lượng gwei mà bạn sẵn sàng chi cho mỗi đơn vị Gas (đơn vị phí).
gasLimit
: Số lượng Gas tối đa mà bạn sẵn sàng chi cho giao dịch này.
Trả về
transactionHash
: Mã hash của giao dịch sau khi chuyển token.
Các API riêng của TRON
GET
getConfirmedTransaction
Lấy thông tin của 1 giao dịch đã được xác nhận dựa vào hash.
Headers
endpoint
: URL của public endpoint để kết nối với blockchain.
Đầu vào
transactionHash
: Mã hash của giao dịch.
Trả về
basic
: Các thông tin hữu ích thường dùng.from
: Sending address.
to
: Receiving address.
value
: The number of coins.
fee
: Gas fee in TRX.
tokenTransfer
: Information of the transaction sending the token.contractAddress
: Contract address.
from
: Sending address.
to
: Receiving address.
value
: The number of tokens.
transaction
: Các thông tin của giao dịch.
transactionReceipt
: Biên nhận có thông tin của giao dịch.
GET
getBandwidth
Kiểm tra băng thông của 1 tài khoản.
Headers
endpoint
: URL của public endpoint để kết nối với blockchain.
Trả về
- Số băng thông khả dụng của tài khoản.
GET
getCurrentBlock
Lấy thông tin của khối mới nhất.
Headers
endpoint
: URL của public endpoint để kết nối với blockchain.
Trả về
- Thông tin của khối mới nhất.
GET
getBlock
Lấy thông tin của 1 khối dựa vào ID hoặc chiều cao của khối.
Headers
endpoint
: URL của public endpoint để kết nối với blockchain.
Đầu vào
block
: ID hoặc chiều cao của khối.
Trả về
- Thông tin của khối.
GET
getBlockByHash
Lấy thông tin của 1 khối dựa vào hash.
Headers
endpoint
: URL của public endpoint để kết nối với blockchain.
Đầu vào
blockHash
: Mã hash của khối.
Trả về
- Thông tin của khối.
GET
getBlockByNumber
Lấy thông tin của khối dựa vào ID hoặc chiều cao.
Headers
endpoint
: URL của public endpoint để kết nối với blockchain.
Đầu vào
block
: ID hoặc chiều cao của khối.
Trả về
- Thông tin của khối.
GET
getBlockTransactionCount
Đếm số lượng giao dịch trong 1 khối.
Headers
endpoint
: URL của public endpoint để kết nối với blockchain.
Đầu vào
block
: ID hoặc chiều cao của khối.
Trả về
- Số lượng giao dịch trong khối.
GET
getTransactionFromBlock
Lấy ra danh sách giao dịch dựa vào mã hash, ID hoặc chiều cao của khối.
Headers
endpoint
: URL của public endpoint để kết nối với blockchain.
Đầu vào
block
: Mã hash, ID hoặc chiều cao của khối.
Trả về
- Mảng danh sách các giao dịch của khối.
GET
getTransactionsToAddress
Lấy ra các giao dịch đã được xác nhận gửi đến 1 tài khoản cụ thể.
Headers
endpoint
: URL của public endpoint để kết nối với blockchain.
Đầu vào
address
: Địa chỉ của tài khoản cần truy vấn.
limit
: Số lượng giao dịch mỗi đợt lấy ra.
offset
: Vị trí bắt đầu lấy.
Trả về
- Tất cả giao dịch đã được xác nhận chuyển đến 1 tài khoản này (không trả về các giao dịch chưa được xác nhận).
GET
getTransactionsFromAddress
Lấy ra các giao dịch đã được xác nhận gửi đi từ 1 tài khoản cụ thể.
Headers
endpoint
: URL của public endpoint để kết nối với blockchain.
Đầu vào
address
: Địa chỉ của tài khoản cần truy vấn.
limit
: Số lượng giao dịch mỗi đợt lấy ra.
offset
: Vị trí bắt đầu lấy.
Trả về
- Tất cả giao dịch được gửi đi từ tài khoản này.
GET
getTransactionsRelated
Lấy ra các giao dịch liên quan đến 1 tài khoản cụ thể.
Headers
endpoint
: URL của public endpoint để kết nối với blockchain.
Đầu vào
address
: Địa chỉ của tài khoản cần truy vấn.
direction
: Hướng của giao dịch cần lấy ra.
limit
: Số lượng giao dịch mỗi đợt lấy ra.
offset
: Vị trí bắt đầu lấy.
Trả về
- Tất cả giao dịch được liên quan đến tài khoản này.
GET
getAccount
Lấy thông tin của 1 tài khoản.
Headers
endpoint
: URL của public endpoint để kết nối với blockchain.
Đầu vào
address
: Địa chỉ của tài khoản.
Trả về
- Thông tin tài khoản.
Quyên góp crypto ủng hộ
Quét nhanh mã QR
Địa chỉ các tài khoản
BTC
1GY9epXe3tiVPPZ69wCnwxvfFKu6MqdxQT
ETH
0x66867f4da1dd0906eb48c48de19f1a4808c25d60
BNB
0x66867f4da1dd0906eb48c48de19f1a4808c25d60
TRX
TJ24GCLEKsREib5YQfvaztesJprrX8r72b