20 lines
1.2 KiB
Markdown
20 lines
1.2 KiB
Markdown
# Step 3 — Create coin module
|
||
|
||
For Chain 138 we **extend the Ethereum family** in ledger-live (no new coin-module). Use:
|
||
|
||
**Note:** `network-explorer.ts` uses Blockscout REST v2 API (`GET /api/v2/addresses/{address}/transactions`) with `next_page_params` pagination. Do not use Etherscan-style `module=account&action=txlist` — Blockscout uses a different API.
|
||
|
||
- **config.chain138.ts** — Chain 138 RPC and explorer config; plug into Ethereum family config or currency config.
|
||
- **network-explorer.ts** — Example network layer (getLastBlock, getBalance, getTransactionCount, getAddressTransactions). Adapt to the Ethereum coin-module’s network/bridge API (e.g. wrap in the same interface as other EVM chains).
|
||
|
||
If Ledger requests a **dedicated** coin-module, create `libs/coin-modules/coin-defi_oracle_meta/` with:
|
||
|
||
- `bridge/` — sync, buildTransaction, signOperation, broadcast, getFeesForTransaction, getTransactionStatus
|
||
- `logic/` — core logic (no bridge imports)
|
||
- `network/` — this explorer + RPC wrapper
|
||
- `signer/` — Step 4 getAddress + sign
|
||
- `types/` — bridge, signer, errors
|
||
- `config.ts`, `index.ts`
|
||
|
||
Dependency rule: `logic` → `network` only; `bridge` → `logic`, `network`, `signer`.
|