SDK

The Symbol SDK is the primary software development tool to create Symbol components, such as additional tools, libraries, or applications. It enables developers to focus on their product rather than on the specific API details due to its higher abstraction.

The Symbol SDK shares the same design between programming languages to accomplish the next properties:

  • Fast language adaptation: For example, there is a Symbol SDK for Java, but you need to work on C++. As both SDKs share the same design, you could re-write the library faster, adapting the syntax to your language. The same principle also applies to code examples, projects, applications…
  • Cohesion/shared knowledge across developers: Every developer should be able to change between projects that use Symbol. By sharing the same design, we also share the same best practices among projects.
  • Fast SDK updates: Migrating any improvement from a Symbol SDK to the other is faster. Also, if any bug appears in one language, it is quicker to check and fix it.

Supported languages

Language Repository Reference
TypeScript& JavaScript SDK Repository Documentation
Java SDK Repository Documentation

Learn how to use Symbol’s SDK following the guided implementation examples.

If you want to create a new SDK, check the development guidelines.

Other libraries

Symbol developers have created other libraries that improve and add new features on top of Symbol.

Name Description
apostille Transferable, updatable, branded, and conjointly owned blockchain notarizations.
symbol-data-lib Library to debug rand access Symbol node data.
symbol-hd-wallets Hyper-deterministic wallets library for Symbol.
symbol-qr-library QR library for Symbol.
symbol-uri-scheme URI Scheme library for Symbol.
nem2-secret-sharing Implementing Shamir’s secret sharing on Symbol.

To make a library official, the library should be proposed through the NEM Improvement Proposal process.

The reason behind the NEM Improvement Proposal is to ensure that:

  • The specification has been discussed and accepted.
  • The new library is reviewed, tested and shared among Symbol developers.
  • The library is compatible with third-party projects that uses the same specification.