API Differences Between MultiVAC and Ethereum
Although MultiVAC and Ethereum can share many APIs, it should be noted that the underlying architecture of MultiVAC is very different from Ethereum. The bottom layer of MultiVAC implements full-dimensional sharding, so data processing, transmission, and storage are distributed, and a transaction may be processed across shards.
Although MultiVAC fully supports EVM, developers can reuse most of the code under the ETH ecosystem and support web3 to access the MultiVAC Mainnet. However, it should be noted that due to the difference in the underlying architecture, MultiVAC may be completely different from Ethereum in part of the data structure.
- 1.At the level of smart contract development, Solidity is perfectly supported, and Remix can be used for development and deployment.
- 2.Cross-shard deployment of contracts is currently not supported. So you deploy and use contracts just like in Ethereum. In the future, MultiVAC will support cross-shard contracts, but only those contracts with very large numbers of users need to consider this issue.
- 3.The transaction data format of MultiVAC is completely consistent with Ethereum.
- 4.The Block data format of MultiVAC is highly similar to that of Ethereum, but not completely consistent. This is mainly reflected in:(a) The miner field in the block represents the information about the sharding and consensus settings. The smart contract does not need to care about the content, but it should be noted that the meaning of this field has changed. We named it miner to be consistent with the fields of Ethereum.(b) MultiVAC has no uncle blocks. Therefore, the sha3Uncles field represents the block miner and consensus data. The smart contract does not need to care about the content, but it should be noted that the meaning of this field has changed. We named sha3Uncles to keep it consistent with Ethereum's fields.The following figure shows the content of a block in MultiVAC.
- 5.In addition to these data fields in the Ethereum block, MultiVAC will also have some of its own data fields. But the developers of smart contracts can ignore them. These fields are only used by the bottom layer of MultiVAC. Web3 or go-ethereum will automatically ignore these unknown fields when parsing them.