Several new resources for Neo developers were launched during November and can be found through the updated neo.org developer portal. Included are an example application in the form of an end-to-end encrypted messaging service, new tutorials for Java developers, and an improved data conversion tool.

Encrypted messaging application

Inbox is an example application built by Apisit, lead developer on Neo’s Product Experience Team. Designed primarily for educational purposes, Inbox enables Neo users to send messages to other Neo addresses via their NeoNS domains. The messages are end-to-end encrypted, meaning only the sender and the message’s recipient can read the original message.

A shared secret between the two parties is required to make this type of encryption possible. This is generated automatically by the application using Elliptic-curve Diffie-Helman. ECDH requires that both parties share their public keys with each other, so each can use the other’s public key alongside their own private key to derive the shared secret.

 

To make sharing public keys easy for more convenient messaging, Inbox leverages the ability to create decentralized records with NeoNS. Users can share their public key in TEXT records on their NeoNS domains. Inbox can then resolve these records to retrieve the public keys for use in ECDH.

Users can log into Inbox using a WIF; this is kept in local storage and cleared on logout. After login, users will be able to see their message history & a compose option, token balances, owned NeoNS domains, and a convenient method to help in setting the public key record for the user’s choice of domain.

A hosted version of the Inbox app can be accessed at here, or run locally by following the readme instructions on the GitHub repository.

Data Converter

The original N3 Data Converter was created to give developers an easy way to convert between the various different data types that they will encounter while working with Neo.

The updated version takes the tool a step further by providing example code to perform each conversion alongside the result of its use. Currently only example code using Neon.JS is shown, though more tools may be added in the future.

Tutorials for Java Developers

At the start of the month, AxLabs, the team responsible for the neow3j development toolkit, published four tutorials on the Neo Developer Portal. The new tutorials guide Java and Kotlin developers through all the tools and processes they will need to build Neo N3 dApps.

Two of the tutorials are short guides to help bootstrap new projects. The first, Java SDK Quickstart, leads through environment and local network setup using Express, then uses neow3j to build, send, and listen for the completion of a GAS transaction.

The Java Smart Contract Quickstart shows where to get template smart contracts, the use of Gradle for contract compilation, how to perform automated and manual testing, and additional resources.

The other two guides demonstrate the implementation of token contracts, one for fungible tokens (NEP-17) and another for non-fungible tokens (NEP-11). Each token tutorial features a link to the respective standard, the full example contract code, and a detailed breakdown of the various imports, constants, methods, events, and other components.