Initialized on September 27, 2017, NULS is a global open-source and community-driven project whose main network was launched in July 2018. Since its establishment, NULS has maintained its commitment to making the blockchain easy and simple. To facilitate this, NULS has adopted a modular approach with version NULS1.0, to include a chain-building process alongside a multi-chain and cross-chain ecosystem.
Regarding the modularity of NULS 1.0, there was still room for improvement. In order to further loosen the coupling between modules and lay a solid foundation for chain-building and cross-chain, NULS core team and NULS CCC (NULS Code Craft Council) members creatively combined the micro-service architecture with the blockchain to design a brand new NULS 2.0 architecture.
1. NULS 2.0 Modular Chain-building
1.1. Layered Design
For the majority of enterprises with chain-building requirements, they prefer to use blockchain technology to settle the business problems rather than invest too much in the underlying development, just like most common systems. So NULS has adopted a layered design to separate the business layer from the bottom layer to enable enterprises to focus on their own business development when building a chain.
To optimize the modularity and realize the complete independence of modules, and improve the customization degree of enterprises in chain-building, NULS has introduced the micro-service architecture in the layered design.
With the micro-service architecture, enterprises can just focus on business development. Moreover, NULS provides basic service libraries for each individual service module to handle basic issues such as communication between modules, which can further lower the development cost and simplify the development.
The layered design of NULS consists of three layers, namely micro-service infrastructure layer, blockchain basic service layer and DAPP application layer.
1.2. Micro-service Infrastructure Layer
As the core of NULS 2.0, the first micro-service infrastructure layer is called NULSTAR. It is a blockchain micro-service underlying framework, mainly used to realize service discovery, service registration, service communication and other functions required by the microservice architecture.
For the enterprises with the preference to build a chain based on micro-service architecture, they can directly develop the blockchain on NULSTAR with no need to care about the underlying development.
In order to reduce the chain-building workload for enterprises, NULSTAR also features many common functions such as reports, authorizations, updaters, translators, etc. In this way, the enterprises can directly use the built-in functions provided by NULSTAR, and do not need to develop them by themselves.
1.3. Blockchain Basic Service Layer
The second layer of NULS2.0 is the blockchain basic service layer. In this layer, NULS divides the blockchain system into different modules based on the micro-service architecture, which are mainly the general module and business module.
The general module is the core module required for all blockchains, including network module, ledger module, account module, transaction module, consensus module and block management module. The business module is developed by enterprises according to their specific business requirements.
When building a chain in the modular way provided by NULS, the enterprises only need to select the general module from the NULS module repository to build a basic chain, and then integrate the own business module with the basic chain.
The micro-service architecture adopted by NULS further improves the independence of modules. There is no code dependency between modules, and each module can be independently deployed and serve the external systems.
This is of great commercial value to the enterprises using NULS for modular chain-building. The business of large-scale enterprises is often very complex. So it is essential to split the business to reduce the complexity of the system and facilitate the maintenance. Building a chain based on NULS makes this process much easier. When there is a need to iterate the blockchain, the enterprise only needs to develop the corresponding module and then replace the original one, which will not have any impact on other modules so that the stability of the system can be ensured. As for new business functions, the enterprise can just develop new business modules and then add them to the system, which is very simple and can help reduce operating costs. In addition, there is no restriction for development language in NULS, so the enterprise can use any language for business module development.
In cases where the enterprise wants to customize the blockchain with the consensus mechanism different from NULS, this is also easy. They can simply develop their own consensus module to replace the consensus module provided by NULS. Compared with other chain-building projects, NULS won’t limit the enterprise to use the same consensus mechanism, which makes it truly highly flexible, achieving the most optimal customization.
1.4. DAPP Application Layer
To help enterprises build their own blockchain ecosystem, NULS 2.0 also designs the third layer — a DAPP application layer.
Developers who want to develop DAPPs on the blockchain based on NULS can connect to the blockchain through the interface provided by the connector in NULSTAR, and then easily obtain various services. In addition, NULS will also provide the basic application library for DAPPs in the third layer to help developers deal with network messages and communication protocols, etc., so that developers can focus more on the DAPP’s business development and further reduce the development cost of DAPPs.
2. One-click Chain-building
NULS believes that there is an increasing need for enterprises to use blockchains to solve their own business problems in the future. Although the modular chain-building in NULS 2.0 can greatly reduce the corresponding cost of the enterprise, the development of business modules is still a must. For small and medium-sized enterprises with tight funds and weak technical strength, there are still many difficulties. In order to accelerate the implementation of blockchain application and help enterprises solve the problems of difficult chain-building and high costs, NULS hopes to realize “one-click chain-building” through the graphical interface provided by the core product Chain Factory.
Chain Factory is implemented based on the NULS module repository, which is jointly maintained by the NULS core team and the NULS technical community with built-in basic modules developed by NULS. Other developers can also participate in the development of the modules by submitting the developed work to the code repository. After passing the review, the module can be included in the module repository for public use. With the continuous improvement of the module repository, NULS will supply more general modules and business modules, and will become a basic development library applicable to different industries, providing complete blockchain solutions for even more enterprises.
The Chain Factory itself is a blockchain, in which the nodes can run multiple chains at the same time. In this way, the blockchain built through the Chain Factory can directly run on the nodes of the Chain Factory, which saves the trouble of setting up the operation environment of the blockchain node and greatly reduces the cost.
Chain-building can be realized through Chain Factory with only four simple steps:
1. Select the required modules in the module repository of the Chain Factory;
2. Configure the basic system parameters and fill in the information of the genesis block;
3. Fill in the chain introduction and chain running method, such as the main purpose of the chain, whether to run it directly on the node of the Chain Factory;
4. Pay a deposit and broadcast a chain-building transaction, after the confirmation of the transaction, the new chain will be built successfully.
If you choose to directly use the Chain Factory node to run your blockchain, the node will determine whether the module you selected already exists. If not, it will be downloaded from the module repository first. At this point, your chain will run automatically. Of course, you can also choose to set up your own nodes to run your blockchain.
Through the graphical interface provided by the Chain Factory, enterprises and developers only need to go through a simple configuration to build a chain with ease and efficiency, leading to significant cost and time savings. The “one-click chain-building” of the Chain Factory will speed up the implementation of blockchain commercial applications, allowing us to envision the function of multi-chain parallels.
3. NULS Cross-chain Ecosystem
In the future, there will be more and more blockchains, so it will be a must to realize the intercommunication between chains and make the value and data circulate. In order to achieve this goal, NULS provides its own cross-chain solution.
3.1. NULS Cross-chain Solution
NULS cross-chain is based on the NULS main network, where all blockchains only communicate with NULS main network. The verification of the transaction is performed by the NULS main network and each parallel chain trusts the verification results.
Blockchains developed based on NULS can directly select the cross-chain module provided by NULS and integrate it into the system to utilize the cross-chain function. The NULS cross-chain module implements the NULS cross-chain protocol, which can easily communicate with the main network, and then transfer assets to other parallel chains through the NULS main network.
For Ethereum, Bitcoin and other public chains that are not affected by NULS, NULS provides a common protocol conversion layer to enable them to communicate with the blockchain in the NULS ecosystem. The protocol conversion layer can communicate with public chains such as Ethereum and NULS main network as well, which realizes the intercommunication with other parallel chains in the NULS ecosystem in an indirect way.
3.2. Formation of Cross-chain Ecosystem
Due to the micro-service architecture, the blockchain built on NULS can easily utilize the cross-chain function by directly adding the cross-chain module with built-in NULS cross-chain protocol, and perform value and data intercommunication with other parallel chains.
The NULS protocol conversion layer also enables other public chains to communicate with the NULS main network, thereby indirectly communicating with other parallel chains in the NULS ecosystem.
On March 28, 2019, the NULS core team has released the NULS 2.0Alpha version — PanGu v1.0. Even now, enterprises and individuals can carry out modular chain-building based on NULS2.0. The birth of Chain Factory in the future will further facilitate the process through the “one-click chain-building”. At that time, the multi-chain parallel will be possible in the NULS ecosystem, which will lay a solid foundation for the construction of the cross-chain ecosystem.
1. Based on the micro-service architecture, NULS realizes the decoupling of modules in the code layer, with no restriction on the development language. The blockchain built on NULS will be equipped with good scalability, which is conducive to subsequent iteration and maintenance, and reduces the operation cost of the enterprise.
2. NULS will develop the core product Chain Factory with the NULS module repository to utilize the “one-click chain-building” and help enterprises and developers build their own blockchain efficiently;
3. NULS will accelerate the implementation of blockchain commercial applications through modular chain-building and “one-click chain-building”. There will be an environment of multi-chain parallels in NULS ecosystem, which is a solid foundation for the construction of NULS cross-chain ecosystem. In the future, NULS cross-chain solutions will realize the NULS cross-chain ecosystem of numerous chain intercommunications.