Evolving the dApp User Experience with Meta-Transactions.
Let users jump right into the world of decentralized applications by hiding the complexities of the blockchain.
Into the CometVerse
Last week we announced the mainnet release of CometVerse, an NFT-based dApp that showcases the Comet web3 provider and innovative features of the Vechain blockchain.
See it live at https://beta.cometverse.com
Made Possible with Vechain
Vechain is an EVM-based, Proof-of-Authority blockchain that launched in 2018. In addition to being generally Ethereum and web3 compatible, Vechain adds several meta-transaction features natively to its core protocol.
Meta-transactions are a class of transactions that implement additional logic, allowing dApps to abstract away many of the complexities of the blockchain. In CometVerse, we use Fee Delegation, Atomic Transactions, and Transaction Dependency.
Fee Delegation (MPP)
Paying for gas fees on behalf of the transaction sender is key to constructing a freemium model within a dApp. Exchange signups and transaction fees can deter those who have not yet fully engaged with the application or the blockchain protocol.
Fee delegation allows dApps to pay for some or all of their users’ transaction fees to onboard them to their application without friction.
Atomic Transactions (MTT)
Traditional transactions allow only a single call to a contract function. On Ethereum, one can call multiple functions atomically using wrapper contracts but at the cost of obfuscating the metadata of the transaction such as msg.sender.
Vechain supports multifunction atomic transactions natively as part of its protocol, allowing developers to batch multiple atomic function calls into one transaction.
Transaction Dependency (DependsOn)
If atomicity is not a requirement, transaction dependency can still be used to ensure execution order of multiple transactions. Transactions that specify a dependency will not be executed until the required transactions have been included in a block.
We use transaction dependency to create a background queue of blockchain state updates. This allows CometVerse to immediately continue the dApp front-end experience in most cases even though the transaction that updates the state on the blockchain has not yet been committed. Careful error checking before transaction creation allows our optimistic state updates to nearly always be successful, removing the need to block the UI until the transaction is confirmed.