Nuls Token Logo

NULS Token

About NULS


Token 3 years
CoinGecko 6 years
CoinMarketCap 6 years


white paper

Nuls (NULS) is a Singaporean based project is trying to develop a highly adaptable blockchain that can be used for enterprise solutions. They have regularly used the phrase “Nuls is nothing, Nuls is everything”. In other words, Nuls is not traditionally defined and can be melded into anything that the community sees fit.

Nuls is looking to solve the problems faced by blockchains by creating one that features modularity and sub-chain operability. The two part design of functional modules and microkernels will provide both an underlying network mechanism and compartmentalized features for the blockchain.Essentially this should provide scalability and security to the blockchain, while adhering to the programming practices of low coupling and high cohesion. And because the blockchain is designed to be modular, it becomes hot pluggable, allowing for the addition or removal of modules at any time.

There are several blockchain problems inhibiting growth and development of the industry that have been identified by the Nuls team. One such issue is the cost of development. Because there is a shortage of blockchain proficient developers, those with skills can command higher salaries.This is simply demand exceeding supply and will eventually level out as more IT professionals learn blockchain skills. That’s when businesses will see greater adoption of the technology, and only the most trustworthy blockchains will be of interest. Nuls is working to make trustworthy solutions to business problems.

Nuls is primarily focused on making blockchain more accessible for developers and businesses. It seeks to do this through its modularity and the use of sub-chains, and hopes to break the complexity associated with blockchain projects, while also solving the scalability issue that is hindering the growth of the industry. Nuls will make trust simpler, increasing the adoption rate of blockchain technology by businesses. They will also lower the cost of entry by removing complexity and increasing the supply of developers capable of programming blockchain applications. Taken all together, the Nuls ecosystem will benefit developers, businesses, and cryptocurrency enthusiasts by providing needed solutions and increasing usage and adoption of blockchain technology.

Check out <a href="">CoinBureau</a> for the full review of Nuls.

Laser Scorebeta Last Audit: 26 March 2023

Token seems to be legit.



ERC20.constructor(string,string).name (#441) shadows:
- (#450-452) (function)
ERC20Minter.constructor(string,string,uint8,address).name (#701) shadows:
- (#450-452) (function)
ERC20Minter.constructor(string,string,uint8,address).symbol (#701) shadows:
- ERC20.symbol() (#458-460) (function)
ERC20Minter.constructor(string,string,uint8,address).decimals (#701) shadows:
- ERC20.decimals() (#475-477) (function)
ERC20.constructor(string,string).symbol (#441) shadows:
- ERC20.symbol() (#458-460) (function)
Rename the local variables that shadow another component.

Additional information: link

ERC20Minter.replaceMinter(address).newMinter (#715) lacks a zero-check on :
- current_minter = newMinter (#716)
Check that the address is not zero.

Additional information: link

Address._functionCallWithValue(address,bytes,uint256,string) (#140-161) uses assembly
- INLINE ASM (#153-156)
Address.isContract(address) (#47-56) uses assembly
- INLINE ASM (#54)
Do not use evm assembly.

Additional information: link

SafeMath.mul(uint256,uint256) (#236-248) is never used and should be removed
Address.sendValue(address,uint256) (#74-80) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (#125-127) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (#314-317) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (#135-138) is never used and should be removed
SafeMath.div(uint256,uint256,string) (#278-284) is never used and should be removed
Context._msgData() (#20-23) is never used and should be removed
SafeMath.mod(uint256,uint256) (#298-300) is never used and should be removed
SafeMath.div(uint256,uint256) (#262-264) is never used and should be removed
Address._functionCallWithValue(address,bytes,uint256,string) (#140-161) is never used and should be removed
Address.isContract(address) (#47-56) is never used and should be removed
Address.functionCall(address,bytes,string) (#110-112) is never used and should be removed
Address.functionCall(address,bytes) (#100-102) is never used and should be removed
Remove unused functions.

Additional information: link

Pragma version^0.6.0 (#3) allows old versions
Deploy with any of the following Solidity versions: 0.5.16 - 0.5.17, 0.6.11 - 0.6.12, 0.7.5 - 0.7.6 Use a simple pragma version that allows any of these versions. Consider using the latest version of Solidity for testing.

Additional information: link

Variable ERC20Minter.current_minter (#694) is not in mixedCase
Follow the Solidity naming convention.

Additional information: link

Low level call in Address.sendValue(address,uint256) (#74-80):
- (success) ={value: amount}() (#78)
Low level call in Address._functionCallWithValue(address,bytes,uint256,string) (#140-161):
- (success,returndata) ={value: weiValue}(data) (#144)
Avoid low-level calls. Check the call success. If the call is meant for a contract, check for code existence

Additional information: link

Redundant expression "this (#21)" inContext (#15-24)
Remove redundant statements if they congest code but offer no value.

Additional information: link

transferFrom(address,address,uint256) should be declared external:
- ERC20.transferFrom(address,address,uint256) (#537-541)
decimals() should be declared external:
- ERC20.decimals() (#475-477)
decreaseAllowance(address,uint256) should be declared external:
- ERC20.decreaseAllowance(address,uint256) (#574-577)
symbol() should be declared external:
- ERC20.symbol() (#458-460)
balanceOf(address) should be declared external:
- ERC20.balanceOf(address) (#489-491)
transfer(address,uint256) should be declared external:
- ERC20.transfer(address,uint256) (#501-504)
increaseAllowance(address,uint256) should be declared external:
- ERC20.increaseAllowance(address,uint256) (#555-558)
name() should be declared external:
- (#450-452)
totalSupply() should be declared external:
- ERC20.totalSupply() (#482-484)
approve(address,uint256) should be declared external:
- ERC20.approve(address,uint256) (#520-523)
allowance(address,address) should be declared external:
- ERC20.allowance(address,address) (#509-511)
Use the external attribute for functions never called from the contract.

Additional information: link

No disclosed threats
No disclosed threats

Token is not listed at Mobula.Finance

Additional information: link

Unable to find audit link on the website

No disclosed threats

Price for NULS

News for NULS