|Mkt.Cap||$ 45.66 M||Volume 24H||12.41 M NULS|
|Market share||0%||Total Supply||40 M NULS|
|Proof type||N/A||Open||$ 0.39|
|Low||$ 0.38||High||$ 0.40|
NULS 2.0 Public Beta NULS Event
hashbytehash？ SignatureVarByteThe verified node's signature on the transaction2resultbooleanValidation resultMessage processingThe crossNodeRs receives the message, counts the results of all other nodes, and finally calculates the verification result of the transaction for the transaction. Upon receipt of this message, newCrossHash will send askCrossTxMessage to get the complete cross-chain transaction.
After the verification, the corresponding transaction validator is found from the cache with the transaction type, and then the verification interface is called to verify. The transaction management module needs to perform cross-chain verification on cross-chain transactions, while cross-chain verification involves interaction between different nodes in different chains. There are mainly three types of cross-chain transactions that need to be processed.
In the nuls2.0 ecosystem, multiple parallel links of different protocols are allowed to run at the same time. Because different parallel chain protocols are different, the protocol interaction between them needs to be transferred by the nuls main network. The cross-chain module is used to The link protocol is converted into a nuls main network protocol and a functional module that converts the received nuls main network protocol into the chain protocol.
When the signer of a transaction exceeds 80% of the total number of consensus nodes, it is determined that the cross-chain transaction passed the verification of the mainnet, put in the transaction memory pool to be packaged, and wait for the package confirmation. The NULS main-net node initiates a new cross-chain transaction. When a certain number of confirmation blocks is reached in the NULS mainnet, the transaction management module will take out the cross-chain transaction and send it to the target chain. For example, the NULS mainnet node S sends the transaction to the target chain node A, and the target chain node A will send the transaction to the NULS mainnet except the node S for verification.
Sign up for Twitter
When the B-chain node sends the cross-chain verification message verifyMn to the NULS mainnet node group through the network module, the transaction management will cache the node information of the successful transmission and the failure. If the number of successfully sent nodes is smaller than S (S is 51% of the number of nodes connected to the NULS mainnet by Node Bnode1), the information is resent to the failed node. Until S is not less than 51%.
After receiving all the verification results sent by the self, Bnode1 calculates the percentage of the verification pass. If more than 51% of the nodes pass the verification, the node Bnode1 determines that the verification of the transaction atx_trans is passed (The node that failed to send is considered as not passing). The B-node node Bnode1 transaction management module sends the atx_trans transaction hash (which has been obtained in step 14-2) through verifyMn to the node other than Mn in the node connected to the NULS mainnet to verify the atx_trans transaction.
LengthFieldsTypeRemark32chainIduint16Chain Id1digestAlgTypebyteAbstract algorithm identifier? hashLengthVarIntHash array length? hashbyteConverted cross-chain transaction hashMessage processingverifyMn processes the message to verify that the transaction is confirmed in the NULS mainnet and sends the result back via the VerifyCrossResultMessage message.
The transaction rollback interface is invoked when the transaction is packaged into a block and the block verification fails, or the block is rolled back and the transaction is not a cross-chain transaction. When other modules in a node have new transactions, you need to call this interface for unified collection and processing. The transaction management module will place the new transaction in the unconfirmed queue and wait for the transaction thread to process it. The NULS primary network node Mn first broadcasts the hash of the atx_trans transaction to the connected B-chain node via the message newCrossHash. After the above two verifications, the node Anode2 will send the atx_trans_hash and the acknowledgement height to the NULS mainnet node Mn through verifyResult.
For all transactions, these functions are shared and unified,so we designed the transaction management as a separate module. Message description：The friend chain node sends the cross-chain transaction hash after the protocol conversion, and verifies the cross-chain transaction to the mainnet node.
When the block management saves the block, the transaction is sent to the transaction management module for saving. The atx transaction is protocol converted to generate a new Anode2_atx_trans, and then the received atx_trans_hash is consistent with Anode2_atx_trans_hash. According to the unified verifier of the ledger module, the CoinData of all transactions is verified at one time, the unverified transaction is obtained, and the unverified transaction is filtered out.
After the verification is passed, the main network protocol cross-chain transaction is converted into the chain protocol cross-chain transaction, and the transaction module is processed. When the transaction module is processed, the transaction is packaged. LengthFieldsData TypeRemark2typeuint16Transaction type4timeuint32Transaction date？ txDataVarByteTransaction txData？ coinDataVarByteTransaction coinData？
Receive the link to receive the cross-chain transfer transaction broadcasted by the main network. After receiving the change transaction of the main network certifier, the parallel chain verifies that the main network certifier changes the transaction, and updates the list of the main network certifier after the verification is passed. minNodeAmount The number of primary network nodes that need to be connected at least when the parallel chain interacts with the primary network. Currently, the blockchain sector is struggling with making blockchain technologies flexible and convenient.
When the NULS mainnet is started, each module needs to register its transaction type, validator and other information with the transaction management module. The transaction management module will cache each transaction and the corresponding validator and processor interface. When a new transaction needs to be verified by the validator, the transaction management module will take out the corresponding validator interface name and call the validator interface for verification. The A-chain node Anode1 broadcasts the hash of the atx_trans transaction to the connected NULS mainnet node through the message interfacenewCrossHash.
After receiving the message, the network module sends the message to the transaction management through the interface verifyFc. The atx_trans cross-chain transaction is sent to the transaction management module via the interface newCrossTx for broadcast. In the nuls2.0 ecosystem, the cross-chain module is mainly responsible for the initiation, verification, protocol conversion, out-of-chain asset maintenance, and certifier change maintenance of cross-chain transactions. Take a complete cross-chain transaction with a certain height confirmed according to the transaction hash, and then send it back by message.
- The friend chain node newly receives the cross-chain transaction, and will verify the transaction to the NULS mainnet node (node other than the sender) that sent the transaction, and the message to be sent during the verification is processed by the interface.
- The node performs cross-chain verification on a cross-chain transaction, and obtains the cross-chain verification result of the node for the transaction.
- And from the architectural design of NULS 2.0, we need a separate module to collecting transactions, verification, storage and forwarding of transactions.
- When the NULS mainnet is started, each module needs to register its transaction type, validator and other information with the transaction management module.
When the consensus needs to be packaged, the tx_packableTxs interface is called to obtain the packageable transaction set according to the chain id, the specified end packing time, and the maximum capacity value of the transaction data. At this time, the transaction management module obtains the transaction from the transaction memory pool to be packaged, and then performs the transaction. verification.
After receiving, the basic verification will also be carried out, and then placed in the cross-chain transaction queue to be verified, waiting for the verification process. The NULS mainnet consensus nodes receive messages sent by all other consensus nodes, and are collected and summarized by the transaction management module interface crossNodeRs.
In the NULS 2.0 ecosystem, transactions are traded within the blockchain or between chains and chains. The nodes of each chain not only deal with transactions within the chain, but also deal with cross-chain transactions. So each node needs to process more and more transactions, and more complex, so we need a single but separate module to handle various transactions. And from the architectural design of NULS 2.0, we need a separate module to collecting transactions, verification, storage and forwarding of transactions.
NULS Stripes Tank Top
The txData of the atx_trans transaction contains the hash of the atx transaction. According to the NULS mainnet protocol, the type, time, remark, and txData are extracted from the atx into the newly generated atx_trans. Transaction management controls the verification and circulation of all transactions throughout the system.
NULS can be arranged as a private or public chain enabling companies the opportunity to replace these built-in modules with suitable applications. Cryptocurrency NULS is a blockchain with a modular based architecture enabling customizable modules and sub-chain operability. Its two-part design is the microkernel and the functional modules. The microkernel provides the underlying mechanisms for the network while the functional modules are the compartmentalized features of the blockchain.
Interface description：Receive a new full cross-chain transaction, and the original hash of the transaction (The hash value of the transaction before the conversion of the friend chain agreement). When the node needs to be packaged, the packaged transaction is obtained according to the chain id, the specified end packing time and transactions total size. The transaction validator verifies the transaction set of the respective module and then summarizes the results back to the packageable transaction list.
Two-way (sending and receiving) short codes:
After receiving the message, Bnode1 needs to use the cross-chain module to process the atx_trans transaction. The A-chain node Anode1 receives the request, and then sends the complete atx_trans cross-chain transaction to the main network node Mn through newMnTx, and the main network node transaction management module parses and processes the atx_trans transaction.
At crypto NULS, our mission is to build a customizable universal public blockchain infrastructure. Building a customizable infrastructure, our goal is to be helping enterprises improve credibility by deploying their own decentralized applications in the blockchain. Nuls Cryptocurrency Review - Custom Entreprise Blockchain. Nuls is building a platform for entreprises to easily build custom blockchain solutions.
When the new block verification is finalized, the entire cross-chain transaction process is completed. (Similar to step 13)When the B-chain node consensus module is packaged, the transaction module first takes out the transaction consistently, verifies the signature number of the transaction btx again, and then verifies the CoinData through the account book module. If the requirements are met, the transaction transmission consensus module is packaged into the block.
When the friend chain reaches a certain number of confirmation blocks, the friend chain node will send the cross-chain transaction to the NULS mainnet nodes. For example, the friend chain node A sends the cross-chain transaction to the NULS mainnet node S, and the node S sends the transaction to the node other than the node A in the friend chain for verification.
Local validation of transactions (including cross-chain transactions), including calling the validator, verifying the coinData. Cross-chain verification of cross-chain transactions is not included.