NULS Main-Net (v1.1.0) now supports Smart Contracts!

NULS
4 min readSep 27, 2018

NULS main-net (v1.1.0) will be released at 16:00 on Sept 28th (GMT+8). This new version supports multi-account transfers, multi-asset transactions and functions to exchange small change. Most importantly, the smart contracts will also be launched to the main-net!

The launch of NULS smart contracts is of great significance, which acts as a bridge between the base-level blockchain technology and applications of NULS. Since then, DApps can be officially run on the NULS public chain, providing more possibilities for the development of the NULS ecology.

The NULS smart contracts are Turing-complete, compatible with UTXO model, implemented based on JVM (Java Virtual Machine), and have built-in NVM (NULS Virtual Machine) modules. The smart contract interpreter supports the programming language of JVM seamlessly, and other mainstream languages will be supported successively. Developers can customize NULS smart contracts using their most familiar languages. At the same time, the NULS smart contracts will operate in isolation to ensure security.

New Functions of v1.1.0 Upgrade:

1. Main-net protocol upgrade

Starting from v1.1.0, a new protocol upgrade configuration file is provided, which defines: the version number corresponding to each protocol (the version number starts from 1 and increases in order); the coverage required for the upgraded consensus nodes; the number of delayed blocks before upgrading protocol with the required coverage; the transaction types used in the upgraded version; the new transaction types; the invalidated protocol types.

The new version of the protocol will only come into effect if the main-net has met the conditions for the upgrade of the new version.

Starting from v1.1.0, once main-net protocol is upgraded successfully, the old version of the wallet will stop synchronizing blocks and give a prompt of upgrading wallet.

2. Function of exchanging small change (formerly named Dust-to-NULS)

The wallet adds a function to exchange small change, which allows for the exchange of multiple small UTXO values (not exceeding the upper limit of a single transaction) into a single large one.

Note: The transaction cannot be made when the number of UTXO values is less than 20. If there are too many UTXO values, it will be assembled into multiple transactions and broadcast at one time. After the transaction is successfully broadcast, it can be seen from the transaction list.

3. UTXO supporting script

The v1.1.0 version allows users to assemble transactions with script output.

4. Multi-account transfer

It allows transactions to use multiple UTXO addresses for transfer, and each of the addresses will be signed.

5. Multiple signatures

It allows N different addresses to jointly generate an M-N multi-signal address, which can accept UTXO top-up, and the M addresses need to be signed when withdrawing.

6. Additional prompts

When you initiate transactions, including transferring, establishing/ending a node, staking/unstaking, etc., if the amount of UTXO exceeds the upper limit, the page will immediately have a corresponding prompt.

7. Query function

You can query the NULS asset information of all on-chain account addresses through the wallet.

Now NULS Main-Net Supports Smart Contracts:

· The wallet supports smart contracts, which can deploy, invoke and delete contracts, view the details and execution results of the contracts, etc. In addition, you can collect contracts that are not created by yourself.

· The explorer v1.1.0 will support smart contracts, showing the creator address, transaction hash, balance, related transaction number, transaction list, contract methods and contract event lists, etc.

· Provides “idea” plug-in for smart contract development. Developers can deploy, invoke, delete contracts, view contract results and generate NULS smart contract projects, etc.

· Multi-asset management: standard token NRC-20.

· Supporting documents of NULS smart contracts development manual:

http://dev.nuls.io/contract/

Bugs Fixed

1. Optimization of network message protocol

The new version optimizes network message and reduces the number of bytes transmitted in the network.

2. Paging

Fixed the bug of paging occasional malfunction on transaction list page.

3. Default address display

Fixed the bug that the default address display is inconsistent when switching menu

4. Transaction note now supports Chinese

Fixed the bug that transaction note does not support Chinese.

5. Optimization of NULS error prompt

The error prompt has been optimized for some of the wallet function, making it more accurate.

6. Other optimization

Optimized the logic of synchronizing blocks and rollback blocks.

Important Note:

In order to operate in a secure and stable environment, the NULS main-net v1.1.0 will switch to the new protocol after the percentage of consensus nodes with upgraded wallets reaches 90% and the height of the main-net increases another 30,000 blocks. Then, the main-net can broadcast new transaction types (multi-account transfers, multi-signal transactions, and smart contracts, etc).

It is a mandatory upgrade this time. After the NULS main-net is upgraded successfully, if there are still nodes which haven’t adopted the new protocol, they won’t be able to synchronize and get new blocks. All users will have to upgrade, and please download the new version and upgrade in time for the safety of your assets.

After the new version is released, you can download at:

https://github.com/nuls-io/nuls/releases or https://nuls.io/wallet

Thanks for your ongoing support!

Your NULS Team.

--

--

NULS

Run your own blockchain complete with tokens, smart contracts, cross-chain, and staking. Nothing makes blockchain easier. Find out more: https://nuls.io.