🐶 Chain-key Dogecoin (CK-Doge) offers on-chain integration with the Dogecoin network on the Internet Computer (ICP).
ckDOGE
is an ICRC-2-compliant token, supported by the CK-Doge canisters, and is backed 1:1 by DOGE.
Package | Crates.io | Documentation | Description |
---|---|---|---|
dogecoin | General purpose rust library for using and interoperating with Dogecoin. | ||
CK-Doge Canister | - | - | Interact with Dogecoin network from the Internet Computer. |
CK-Doge Minter | - | - | Mint and burn ckDOGE <-> DOGE on the Internet Computer. |
CK-Doge offers on-chain integration with the Dogecoin network on the Internet Computer.
CK-Doge leverages the technical design of Bitcoin Integration on the ICP, bringing Dogecoin from first-generation blockchain to third-generation blockchain in a streamlined and cost-effective manner.
A canister smart contract, the CK-Doge Canister, can operates effectively as an on-chain “Dogecoin light node”, receiving, holding, and indexing the complete set of unspent transaction outputs (UTXOs) in an efficiently queryable form. This CK-Doge Canister offers API on ICP the ability to submit signed transactions to the Dogecoin network. Submitted Dogecoin transactions are signed using chain-key ECDSA (ckECDSA) signatures, an enhanced version of threshold ECDSA available only on the Internet Computer.
ckECDSA combined with the CK-Doge offers canister smart contracts running on ICP the ability to custody and transact native Dogecoin without the need for any additional third-party off-chain custodial or bridging solutions.
ckDOGE is a pair of ICP smart contracts building on the CK-Doge canisters and ckECDSA services. The contracts work together to enable users and canister smart contracts on ICP to send and receive DOGE value within seconds — far faster than is possible with native DOGE chain transactions, while also always allowing users and smart contracts to send and receive value to and from native DOGE network addresses.
ckDOGE exposes ICRC-1 and ICRC-2 ledger interfaces (the fungible token standards of ICP), making it simple for all wallets on the Internet Computer to offer ckDOGE support. Many wallets also support the additional inter-network transfers to and from DOGE addresses.
The CK-Doge Minter and ckDOGE Ledger (ICRC-1 Ledger) work in concert to ensure that the total value of ckDOGE cannot exceed the DOGE held by the two contracts.
The ckDOGE functionality is provided through an interplay of three canisters:
- The CK-Doge canister: responsible for interacting with the Dogecoin network and indexing UTXOs.
- The CK-Doge minter: responsible for minting and burning ckDOGE tokens backed 1:1 by DOGE.
- The ckDOGE ledger: responsible for keeping account balances and for transferring ckDOGE between accounts.
- A user get the Dogecoin address from the CK-Doge minter.
- User sends DOGE to the Dogecoin address.
- User calls the CK-Doge minter to mint ckDOGE tokens. The transaction should has 42 confirmations before minting.
- The CK-Doge minter occupies the UTXOs and mints ckDOGE tokens on the ledger to the user.
- A user calls the CK-Doge minter to burn ckDOGE tokens.
- The CK-Doge minter burns the ckDOGE tokens on the ledger and spend the UTXOs, send the DOGE to the user.
- Bitcoin Integration Overview
- Chain Fusion (Chain-key) Documentation
- Bitcoin Integration Documentation
- ckBTC Documentation
- Idempotent Proxy
- Dogecoin Home
Copyright © 2024 LDC Labs.
ldclabs/ck-doge
is licensed under the MIT License. See LICENSE for the full license text.