Skip to content

Integration Guide

Alexander Chepurnoy edited this page Feb 8, 2021 · 12 revisions

This guide is for helping developers integrating Ergo into exchanges, wallets, pools wallets etc.

Introduction

Some quick facts useful for an integration:

Node Wallet

Node wallet has UI available @ 127.0.0.1:9053/panel by default on the mainnet (127.0.0.1:9052/panel on the testnet). Main methods:

  • /wallet/init and /wallet/restore to create a wallet (and a secret mnemonic) and restore wallet from mnemonic
  • /wallet/unlock to unlock the wallet (it is unlocked after init but locked after restart)
  • /wallet/lock to lock the wallet
  • /wallet/payment/send to send a simple payment
  • /wallet/status to get wallet status
  • /wallet/deriveNextKey to derive a new key according to EIP-3 (BIP 44 implementation for Ergo)
  • /wallet/balances to get wallet balance (for all the addresses)
  • /wallet/transactions to get wallet transactions (for all the addresses)

Doing an external wallet

If you are going to do wallet logic externally, you can do it with a library and also the block explorer. Please note, you need to consider mempool transactions to avoid double-spending generation.

Available libraries are:

  • ergo-wallet made in Java
  • ergo-lib in Rust
  • ergo-ts in TypeScript
  • ergo-golang in Go

ergo-wallet

Offline Signing

Composing transaction outside the node

Address generation

Any suggestions for improvements are welcomed! Please send them to [email protected] or #development channel in Discord