Unique Network’s Deep Polkadot Experience

Greg Zaitsev
Unique Network
Published in
5 min readSep 1, 2021

At Unique Network, we see Polkadot (a relaychain that makes parachain blockchain interoperability possible) as a very promising technology that will be used for a large number of use cases-and the future of a multi-chain universe. It’s no surprise then that we’ve built our product offering on and around this chain.

Why do we believe so much in building on Polkadot? The name of the game here is mass adoption and seamless interaction. Thus, Polkadot will significantly contribute to the adoption of blockchain projects as we know it by further enabling its adoption by reducing the barriers to entry for enterprises with significant legacy infrastructure written in C++. We want to be part of growing the community that’s creating it-and pushing it forward.

Unique Network’s dedication to Polkadot was recognized at Hackusama 2020, where we won the title of “ Build a Blockchain Champion” and “ Community Choice” winner during the first-ever hackathon for the Kusama or Polkadot ecosystem. Our intimate relationship with the Polkadot team has expanded since we were awarded the official title of Polkadot Ambassador in 2019 and named a key member of the Kusama NFT Strategy team.

The same intimate relationship applies to many of our team members, who have received individual titles and recognition that express our commitment to growing the Polkadot ecosystem. Unique Network CEO, Alexander Mitrovich, has been a Polkadot Brand Ambassador since 2019, and Irina Karagyaur, our Head of Metaverse Growth, is the Head Polkadot Brand Ambassador for Western Europe. Collectively, they both play a crucial part in nurturing how Unique Network can build and flex the features of Polkadot, and we’re proud to say key figures in the industry have noticed.

As a result of work and focus in this field, we’re proud to have received five Web3 grants via the Polkadot experience: Substrate C++ API, Polkadot Substrate .NET API, Enterprise Polkadot API, PostgreSQL Indexer and Consensus Ensurer, and an NFT Tracking Module. Below, we’ve summarized each grant for your education (and perhaps even entertainment?).

Polkadot Substrate C++ API

Status: Delivered

Polkadot integration C++ API for Substrate allows the reading of chain information and state, block details, and helps you sign and publish transactions in C++. This integration also enables users to subscribe to substrate node WebSocket endpoints and receive data updates. Why is this so beneficial to the greater decentralized blockchain ecosystem? While high-quality, well-documented APIs help communities integrate with products in general, C++ API will benefit the financial sector and the games industry.

Financial companies are looking increasingly towards crypto markets as of late, and in-game assets have become tokenized in the form of various types of tokens, frequently cross-chain. Because of their high-performance requirements, both industries historically accumulated large codebases in C++, so this API aims to facilitate Polkadot adoption on a more substantial scale.

Polkadot Substrate .NET API

Status: Delivered

Polkadot integration .NET API for Substrate allows to read chain information and state, block details, and sign and publish transactions in C# or other .NET languages. It also allows you to subscribe to substrate node WebSocket endpoints and receive data updates.

Why do we love this? Well-documented and maturely designed .NET API will attract many Microsoft developers from all over the world to Polkadot Blockchain. NET Core, also included in the development plan, is the borderline between open source community and enterprise applications. Applications created with .NET Core API will be easily portable to more comprehensive enterprise solutions. As a special bonus, .NET API also integrates well into Substrate, providing secure WebSocket endpoints used directly by .NET API.

SR25519 Library in Pure C and C#:

Status: Delivered

Previously, only one implementation of the Sr25519 signing algorithms (Curve255-dalek in Rust) is known and finished. Having only one single Rust implementation presents two major portability problems. Firstly, linking or invoking the Rust library becomes impossible if Rust cross-compiler is not available (like many embedded CPUs). Secondly, when Rust compiler or cross-compiler is available, the invoking of a Rust library is platform-dependent. In many cases (e.g., with . NET), this problem is not solved by finding an appropriate compiler, and additional code tweaks are needed. Having multiple implementations of SR25519 will allow developers in multiple languages to integrate with Substrate natively without Rust dependency.

Regarding integration in Substrate, SR25519 is one of the signing algorithms Substrate uses. The Alexander testnet version uses SR25519 based on Schnorrkel 0.1.1 and Kusama. Additional versions of the Network use SR25519 based on Schnorrkel v.0.8.5, both of which have been implemented within this grant application.

We’ve been working on several Client APIs for Substrate and noticed a portability problem, piquing our interest in this sector. Unique Network considers this is an exciting problem to solve, and we believe doing so will make the jobs of many Substrate developers easier.

PostgreSQL Indexer and Consensus Ensurer

Status: Delivered

The PostgreSQL Indexer and Consensus Ensurer is an Indexer analysis that offers metadata and produces database schema. This analysis scans blocks, extracts data from transactions, and saves it to database tables. The consensus ensures that the node a dApp communicates with the rest of the network; this function creates parallel computation in the blockchain. Our indexer will help enable the creation of blockchain applications with high-performance requirements for the greater ecosystem.

For integration into Substrate and Polkadot, Indexer interacts with Substrate/Polkadot via RPC interface, and CE acts as a transparent layer for a client API (so that dApps will not need to change), but the set of nodes to interact with will get managed by CE instead of application maintainers.

Why do we think this is so essential? We want to expand the capabilities of indexers and create a flexible indexer that is less dependent on concrete runtime configuration and opens capabilities to many high-performance dApps, including ones that require their own runtime modules and new transaction types. Consensus Ensurer is a very essential (and missing) part of any blockchain. Operating with a preset hardcoded node is an apparent vulnerability for a dApp because there’s a chance that this single node may be vulnerable to attacks. At Unique Network, we are interested in improving network security, so this problem is of our interest as well, hence why we submitted this system for a Web3 grant.

NFT Tracking Module

Status: Delivered

Last but not least, our NFT Tracking module, the fifth and final receipt of a Polkadot Experience Web3 grant. The Tracking Module, now known as NFT Palette, is the Core of NFT functionality. Like ERC-721 standard in the Ethereum ecosystem, this module provides the base for creating collections of unique non-divisible things, also called Non Fungible Tokens (NFTs), minting NFTs of a given Collection, and managing their ownership.

The NFT Tracking Module is the first step in building the NFT Parachain and expanding the big picture for NFTs within the Polkadot ecosystem. NFT standard ERC-721 is widely used in the Ethereum ecosystem for tracking miscellaneous real-world and gaming assets. Having an analog system will speed up the transformation of Ethereum based NFT applications towards Polkadot, enabling the development of new applications.

— — — — — —

Reference

[1] Polkadot Substrate C++ API:
https://github.com/usetech-llc/polkadot_api_cpp

[2] Substrate API in .NET:
https://github.com/w3f/General-Grants-Program/blob/ed1f00acb5cd105f426cf5d9baa40237a145d961/grants/speculative/dotnet_api.md

[3] SR25519 library in pure C and C#:
https://github.com/w3f/General-Grants-Program/blob/ed1f00acb5cd105f426cf5d9baa40237a145d961/grants/speculative/sr25519_port.md

[4] PostgreSQL Indexer and Consensus Ensurer:
https://github.com/w3f/General-Grants-Program/blob/ed1f00acb5cd105f426cf5d9baa40237a145d961/grants/speculative/postgre_indexer_consensus_ensurer.md

[5] NFT Tracking Module:
https://github.com/w3f/General-Grants-Program/blob/ed1f00acb5cd105f426cf5d9baa40237a145d961/grants/speculative/nft_tracker.md

Originally published at https://unique.network on August 30, 2021.

--

--