Bắt đầu với Dandelion APIs
Dandelion hiện cung cấp 2 con đường khác nhau để bắt đầu:
- Đối với các nhà phát triển: A hosted instance của hầu hết mọi API Cardano có sẵn được Gimbalabscung cấp dưới dạng dịch vụ cộng đồng miễn phí để bắt đầu xây dựng ngay lập tức.
- Đối với SPOs/DevOps/sysadmins: An OpenSource project để triển khai dịch vụ cộng đồng sử dụng Kubernetes.
Cho nhà phát triển
Bắt đầu tạo mẫu ngay lập tức dự án của bạn bằng cách chọn API phù hợp hơn với nhu cầu của bạn.
Tất cả chúng đều được cung cấp theo các dự án nguồn mở được phát triển bởi IOG, Emurgo và các nhà phát triển khác từ cộng đồng, vì vậy bạn sẽ không cần phải thay đổi bất cứ điều gì trong trường hợp bạn quyết định tự mình lưu trữ chúng.
Đây là các liên kết đến kho lưu trữ github và mô tả ngắn gọn về chúng:
- hasura/graphql-api: sử dụng API GraphQL này để thu thập thông tin tổng hợp từ blockchain và gửi các giao dịch đã ký đến blockchain
cardano-rest/explorer-api:sử dụng API REST này để thu thập thông tin cơ bản từ blockchain. DEPRECATED
cardano-rest/submit-api: sử dụng API REST này để gửi các giao dịch đã ký đến blockchain DEPRECATED
KtorZ/ogmios-api: sử dụng API JSON-WSP (websocket) này để thu thập thông tin blockchain trực tiếp trực tiếp từ một phiên bản cardano-node
-cardano-db-sync/postgrest-api: sử dụng API REST này để thực hiện các truy vấn SQL nhằm thu thập thông tin trực tiếp từ cơ sở dữ liệu của cardano-db-sync.
- rosetta-api: sử dụng API này để tích hợp ứng dụng của bạn với nhiều blockchain theo cách đơn giản hơn, nhanh hơn và đáng tin cậy hơn.
Cardano GraphQL
Các liên kết hữu ích
Link liên kết đến thông tin điểm cuối của Gimbalabs
Link liên kết đến tài liệu chính thức của dự án
Link vào bộ sưu tập chính thức của các truy vấn mẫu. Bạn có thể chạy trực tiếp từ GraphQL playground
Các ví dụ sử dụng:
- curl
# testnet
curl -H 'Content-Type: application/json' \
-H 'Accept: application/json' \
--data-binary \
'{"query":"query cardanoDbSyncProgress {\n cardanoDbMeta {\n initialized\n syncPercentage\n }\n}\n"}' \
https://graphql-api.testnet.dandelion.link
Ví dụ hiện thị ra:
{"data":{"cardanoDbMeta":{"initialized":true,"syncPercentage":100}}}
Cardano Explorer
Các liên kết hữu ích:
- Link đến tài liệu chính thức của dự án
Ví dụ hữu dụng:
- curl
# testnet
curl -s https://explorer-api.testnet.dandelion.link/api/txs/last
# mainnet
curl -s https://explorer-api.mainnet.dandelion.link/api/txs/last
Ví dụ đâu ra (REDACTED):
{
"Right": [
{
"cteId": "12703a0f201c9596d4fc256924f98e38d33dc23c4be1c7c3bc9bbc373ee3dbdf",
"cteTimeIssued": 1621292369,
"cteAmount": {
"getCoin": "541898740"
}
},
{
"cteId": "f7f0be9988551b5179b143444f67215a06ef9794f3ed9e6f58a1b067db37f0a1",
"cteTimeIssued": 1621292297,
"cteAmount": {
"getCoin": "1019242"
}
},
...
]
}
Cardano Submit
Link sử dụng:
Các ví dụ sử dụng giả sử bạn có một tệp application/cbor
chứa một giao dịch đã ký ( ví dụ: từ cardano-cli
hoặc bất kỳ thư viện nào khác) nằm tại /tmp/cbor-tx
:
- curl
curl -X POST \
--header "Content-Type: application/cbor" \
--data-binary @/tmp/cbor-tx \
https://submit-api.testnet.dandelion.link/api/submit/tx
Ví dụ thông tin đầu ra (a transaction id):
92bcd06b25dfbd89b578d536b4d3b7dd269b7c2aa206ed518012cffe0444d67f
Cardano Rosetta
Các link hữu ích:
Ví dụ hữu ích:
- curl
curl -s -X POST \
-H 'Content-Type: application/json' \
--data '{"network_identifier":{"blockchain":"cardano","network":"testnet"},"block_identifier":{"index":100}}' \
https://rosetta-api.testnet.dandelion.link/block
Ví dụ đầu ra:
{
"block": {
"block_identifier": {
"index": 100,
"hash": "4c81fe7ddb7ab93a1973d674f1920bb1be980efdb819ea0a92d25706e72809fc"
},
"parent_block_identifier": {
"index": 99,
"hash": "e8b65f34c3b562a996b6bf6a9109e279536ae7efbc714ae0526bd222e7288eb4"
},
"timestamp": 1564022216000,
"transactions": [],
"metadata": {
"transactionsCount": 0,
"createdBy": "ByronGenesis-0df4205606dcb8ad",
"size": 668,
"epochNo": 0,
"slotNo": 1130
}
}
}
Ogmios
Các link hữu ích:
Ví dụ hữu ích:
- github.com/vi/websocat
echo '{ "type": "jsonwsp/request", "version": "1.0", "servicename": "ogmios", "methodname": "RequestNext", "args": {} }' \
| websocat --text -1 - wss://ogmios-api.testnet.dandelion.link
Ví dụ đầu ra:
{
"type": "jsonwsp/response",
"version": "1.0",
"servicename": "ogmios",
"methodname": "RequestNext",
"result": {
"RollBackward": {
"point": "origin",
"tip": {
"slot": 26925169,
"hash": "000a47936fed9bd76cfb52abcd9ab3172ba9118cff9b56767087544f295daba3",
"blockNo": 2591103
}
}
},
"reflection": null
}
PostgREST
Useful links:
- Link liên kết đến thông tin điểm cuối của Gimbalabs và tài liệu chính thức.
- Link tới
cardano-db-sync
tài liệu chinh thức
Ví dụ hữu ích:
- curl
# query available metadatums
curl -s "https://postgrest-api.mainnet.dandelion.link/rpc/get_metadatum"
# query metadatum 20201210
curl -d metadatum=20201210 -s "https://postgrest-api.mainnet.dandelion.link/rpc/get_metadata" | jq .
# query metadatum 42 for epoch 234-235 and limit results to 1
curl -s -d metadatum=42 -d epochs="{234,235}" "https://postgrest-api.mainnet.dandelion.link/rpc/get_metadata?limit=1"
# query metadata entry number 15
curl -s "https://postgrest-api.mainnet.dandelion.link/tx_metadata?id=eq.15"
# query pool metadata whose URL contains "repsistance"
curl -s "https://postgrest-api.mainnet.dandelion.link/pool_meta_data?url=like.*repsistance*"
# query metadata entries for SPOCRA proposalId "80064c28-1b03-4f1c-abf0-ca8c5a98d5b9"
curl -s "https://postgrest-api.mainnet.dandelion.link/tx_metadata?json->>ProposalId=eq.80064c28-1b03-4f1c-abf0-ca8c5a98d5b9"
# query metadata entries for the whole SPOCRA network
curl -s "https://postgrest-api.mainnet.dandelion.link/tx_metadata?json->>NetworkId=eq.SPOCRA"
Triển khai Dandelion của riêng bạn
Nếu bạn đã cài đặt Docker, bạn gần như đã hoàn tất việc sử dụng Dandelion trong môi trường phát triển cục bộ của mình. Vui lòng tham khảo tài liệu chính thức the official documentation để làm như vậy và đừng ngần ngại yêu cầu hỗ trợ trong kênh Discord chuyên dụng của chúng tôiDiscord channel, chúng tôi biết hệ điều hành, mạng và nhà cung cấp đám mây có thể khác nhau rất nhiều và đưa ra các vấn đề ngẫu nhiên!