Hello IC devs!
I want to talk to you all about a very important canister within the Internet Computer — "The Ledger Canister."
This single canister, The Ledger Canister, is basically a smart contract that holds accounts and transactions. These transactions either mint ICP utility tokens for accounts, transfer ICP tokens from one account to another, or burn ICP tokens, eliminating them from existence. The Ledger Canister maintains a traceable history of all transactions starting from its genesis or beginning state.
But at the end of the day… important to remember, it’s just another canister, no special magic.
To help explain its intent, we are releasing documentation on it, but I want to highlight the main take-aways:
1. The document has an explanation of the Ledger Canister’s functionality and intent — this is mostly prose.
2. There are two ways to interact with the Ledger Canister:
a. Standard messages via canister’s interface: Despite its big-sounding name, the Ledger Canister is just another canister so any one person or canister can interact with it by sending it messages using the canister’s interface. This is how we expect most people will interact with it as it is very lightweight. This interface is NOT in the docs (yet) — we are updating it soon.
b. Rosetta API: There are entities such as Exchanges that need to comply with lots of regulations. As a result, we built a way for entities to interact with Ledger Canister via the very common crypto standard of the Rosetta API (https://www.rosetta-api.org/). Using the Rosetta API and its client (GitHub - dfinity/rosetta-client) is in the documentation linked, but it is NOT how we expect most people to interact with Ledger Canister. To be frank, if you are wondering “should I use Rosetta API?” — the answer is likely “No.”
3. Many external partners have been helping kicking the tires on this doc and the Rosetta API implementation, so we are very grateful to them.
Without further ado…Take a read and help us improve! The Ledger Canister in the docs: Integrate with the Internet Computer ledger :: Internet Computer