Software Developer Central
(The development map above is available at 🔗lnd.im/UniversaDevelopmentMap).
- Javadoc for the network source code.
- 🇬🇧Development-specific Telegram group (International, English-speaking).
- Also, 🇷🇺Development-specific Telegram group in Russian.
- U8 runtime engine.NEW!
- Universa Intro for programmers, introduction to all the Universa basics, oriented to programmers.
- For a quickstart, see Programmer Quickstart Guide.
- Software development – best practices.
- See also: Smart contracts – best practices.
- Universa codebase licensing.
- Universa content types.NEW!
Java API can be used from any Java-compatible environment or language (Java 8 or higher is required).
To start using Java API, you can add com.icodici:universa_core:3.14.4 dependency from Universa public Maven repository. See more details at Maven repository page.
If don’t need the full-featured Java API (requiring Java 8 or newer), but you are writing for Android, you may need the minimal library Minicrypto Java library, containing just the basic cryptographic primitives (e.g. to create the key pairs) and barebone operations to access the Crypto Cloud.
Also, see Kotlin APIs, which may provide multiplatform interfaces, including Java.
UMI protocol for Java API
To access the Java API classes from non-Java environments, you can use the UMI Protocol – where UMI stands for “Universa Method Invocation” – in an RPC manner.
As an example of binding UMI to other programming languages, the Universa Ruby gem can be used.
Another implementation of UMI access to Universa is in Universa Python Library at
pip install py-umi.
UniversaBlockchain/unicrypto-js, npm:unicrypto – minimal library for basic operations over smart contracts: low-level parsing, creation and cryptography; TypeScript and WASM-based.
UniversaBlockchain/universa-core-js, npm:universa-core – full-featured class-based API for all operations with Universa smart contracts and network.
Legacy (do not use!):
- universa-wasm –
UniversaBlockchain/universa-wasm, npm:universa-wasm – predecessor of Unicrypto, first take on WASM version of Universa cryptographic primitives.
- minicrypto –
UniversaBlockchain/minicrypto-js, npm:universa-minicrypto – predecessor of universa-wasm, the legacy library for basic cryptographic operations with Universa smart contract.
UniversaBlockchain/toolkit-js, npm:universa-toolkit – intermediate functionality between minicrypto/universa-wasm and universa-core, supporting the Universa network operation; but already obsoleted: WASM-based; use Universa-core API instead.
- js-universa-toolkit –
UniversaBlockchain/JSUniversaToolkit– predecessor of toolkit-js; ScalaJS-based.
- boss-serialization-mp –
sergeych/boss-serialization-mp– Kotlin Multiplatform implementation of BOSS serialization.
- Unikrypto –
- Key address
Safe58 – Base58 improved;
Farcall protocol: see GitHub at
Node technical information
- Node client protocol and node commands
- Datagrams adapter
- Parcel processing
- Item processing
- PERMANET network mode