IERC721Receiver interface migrating Solidity Ethereum contracts to TAKAMAKA
Through the technique described in the previous article, it is explained how to obtain an operationally identical Smart Contract written for Solidity, for Hotmoka (Takamaka blockchain). Unlike Solidity, contracts written on Hotmoka have lower operating costs (gas) and do not have the same vulnerabilities.
IERC721Receiver is the java interface built for Takamaka. Thanks to this implementation it is possible to obtain, in an extremely efficient way, the status of a given smart contract using the methods of the Hotmoka language.
The strongly typed Java language deters some of the main attacks on solidity, as known vulnerabilities do not affect it
On an implementation level, by downloading the source code HERE, it is already possible to import any Ethereum token, migrating the smart contract from the original blockchain, to Takamaka.
Oracles and applications that interact and communicate with SCs written in solidity and now migrated to Hotmoka (Takamaka), will continue to maintain the same functionality and interactions, while the interface remains the same.
With this integration it will be possible to migrate Solidity contracts into the Hotmoka layer of Takamaka, in a fast and simple method, highly reliable and with lower gas costs both for implementation and functional level.
As a main use case we want to consider the current contracts written for NFTs, most of which are implemented in Solidity, via the ERC721 standard.
ERC721 is only an interface to a contract distributed on the Ethereum blockchain.
Using IERC721Receiver , for programming Takamaka smart contracts, it will be possible to encode the same NFT contract in Java, and execute it within the Hotmoka layer on Takamaka chain.