In our previous article, we learned how to start using NeoFS in the N3 RC1 testnet. We created our first wallet, made a deposit, and even managed to upload a cat. Want to get it back via your browser? Or let other users obtain such a cutie?

Now, for public containers, you can get access to this picture (or any other object uploaded) using HTTP. We have already deployed several NeoFS HTTP Protocol Gateways as a tech demo for you to start. In our next articles, we are going to tell you how to deploy your own NeoFS HTTP Protocol…

This article is a new episode of a multi-part series to get familiar with NeoFS and its features. Today we will look at N3 oracles and how NeoFS objects may be accessed from smart contracts. This article consists of two parts. The first part describes oracle concepts and NeoFS integration. The latter part is an enhanced example of NeoFS N3 oracle usage for dApp.

N3 Oracle

Blockchain cannot obtain information from the external network, and Oracle solves this problem. As a gateway for smart contracts to communicate with the outside world, Oracle opens a window to the outside world for blockchain. …

Following the recent launch of the N3 TestNet, we are excited to announce an updated NeoFS test environment deployment. All users are invited to test out NeoFS and experience its features.

In this initial stage, we have deployed NeoFS on the N3 TestNet so that anyone can take advantage of storing objects on real distributed NeoFS network instances. Simply upload your objects and then access them anywhere through the NeoFS CLI or N3 smart contracts, powered by oracles.

To make it simple for non-developers, we also launched our updated HTTP gateway for anyone. …


This is the next article about the comparison of architectural features of NeoFS with other decentralized storage systems. The first overview of existing decentralized storage solutions can be found in the NeoNewsToday article about services such as NeoFS, Sia, Swarm, and Filecoin.

The comparison with Filecoin is also available in the article and the Neo Live talk about distributed cloud storage platforms with AMA session. Today we will look at Storj, which is the closest to NeoFS in terms of the ideology of building services and integration with other protocols, like AWS S3, and etc., …

NSPCC continues tracking Neo 3 development and benchmarking node implementations. Previously we’ve benchmarked preview3 nodes and showcased some post-preview3 improvements made to NeoGo, but now we have proper preview4 releases for both implementations, and it’s interesting to see what has changed there.

neo-bench updates

As usual, we’re using neo-bench to test nodes, and as usual, it has improved since our last post. There were some internal improvements like configuration templating and the ability to build C# node from source code, a number of minor bug fixes, but one change stands out significantly: transaction-pushing code was reworked to handle congested mempools correctly.



With the development of decentralized services and the launch of new solutions in the field of distributed data storage, more and more attention is focused on this topic. The first overview of existing decentralized storage solutions can be found in the previous article by NeoNewsToday about services such as NeoFS, StorJ, Sia, and FileCoin. In this review, we want to focus on comparing NeoFS and Filecoin.

NeoFS is a distributed, decentralized object storage network developed by Neo SPCC. NeoFS Nodes are organized in a peer-to-peer network that takes care of storing and distributing user’s data. Any Neo user may participate…

The figure of 10K TPS has been long known as theoretically possible for Neo, but claiming to know kung fu is not the same as showing it. That’s why after the Neo 3 preview3-compatible release of NeoGo 0.91.0 in August and some associated performance measurements we’ve asked ourselves — can we do better than that and how far away that 10K TPS is? NeoGo had never been truly optimized for TPS before (we had a lot of other things to do), so we started looking into ways to improve it and now we have something to show.

Testing setup

We’re constantly improving…


Time flies fast and a number of important things have happened since our previous post on benchmarking. Neo project went through v3.0.0-preview2 and v3.0.0-preview3 versions of Neo node followed by compatible 0.90.0 and 0.91.0 versions of NeoGo. With NeoGo 0.90.0 release we started making neo-bench compatible with Neo 3 versions of both C# and Golang nodes and testing preview2-compatible nodes. Preview3 and 0.91.0, however, emerged so quickly that we hadn’t managed to publish those results. At the same time, we now have something to share for preview3 which is much more relevant, so dive in.

Testing setup and methods

We’re using the same single-node…

On June 2nd all Neo 2 testnet consensus nodes were upgraded with “neox-preview1” release of the C# node that brought with it some new features for cross-chain interoperability.

We at NSPCC had also changed our node to run this new version and to support the community rolling out new functionality to the network, but behind the scenes, the work was already underway to bring these new extensions to NeoGo. June 4th NeoSPCC’s consensus node on testnet had been replaced with NeoGo again and we never went back since then. …

Neo is widely known for its VM supporting a variety of languages for smart contract development. But a complete distributed application usually includes not only a smart contract but also a backend subsystem that monitors on-chain smart contract executions and does some associated actions.

So what options are available for backend development? Up until very recently, it was just writing plugins for the C# node. Nowadays there also is a public WebSocket service available and a different WebSocket option presented with NeoGo 0.75.0 release.

Websockets for RPC and things

First of all, we’ve never considered the plugin route for NeoGo, partly because Go itself is…

Neo Saint Petersburg Competence Center (Neo SPCC)

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store