Skip to content

External Developers Guide

This document will help you quickly get started with developing integrations and applications on top of the Taler network.

Quick Start for Local Development

1) Install Rust and targets — see rust-setup.md. 2) Build the binary: cargo build --release. 3) Start the dev network: ./target/release/taler-node --dev. 4) Open Polkadot.js Apps and connect to ws://127.0.0.1:9944.

RPC and WebSocket

  • The node exposes HTTP/WS RPC interfaces. See the list of flags in node-setup.md.
  • For dApps, you can use @polkadot/api:
    import { ApiPromise, WsProvider } from '@polkadot/api';
    
    const provider = new WsProvider('ws://127.0.0.1:9944');
    const api = await ApiPromise.create({ provider });
    
    const chain = await api.rpc.system.chain();
    console.log(`Connected to ${chain}`);
    

Balances and Assets

  • Native token: TAL (SS58 prefix for network 10960).
  • Assets via pallet-assets (if enabled in the runtime).

Example of reading an account balance:

const { data: balance } = await api.query.system.account(<accountId>);
console.log(balance.free.toString());

Staking (Basics)

  • The runtime includes a modified staking pallet. See the list of extrinsics in polkadot.js/apps → Developer → Extrinsics → staking.
  • Runtime API provides calculation functions (see rpc-and-runtime-api.md).

Contracts (if enabled)

  • pallet-contracts is supported. Deploy Wasm contracts through polkadot.js/apps → Contracts.

Example Scenarios

  • Sign and send a transaction:
    import { Keyring } from '@polkadot/api';
    
    const keyring = new Keyring({ type: 'sr25519' });
    const alice = keyring.addFromUri('//Alice');
    
    const txHash = await api.tx.balances
      .transfer(<dest>, 123_000_000_000n)
      .signAndSend(alice);
    console.log(txHash.toHex());
    

Best Practices

  • Always specify the correct address prefix (SS58=10960).
  • Check version compatibility (spec_version, transaction_version).
  • Use weights and fee limits to estimate the cost of calls.
  • For production — use your own node and restrict RPC methods.

Additional Resources

  • Extended architecture and pallet list: overview.md.
  • Deployment setup: node-setup.md.
  • Partner pallet integration: partner-pallets.md.