Skip to content
On this page

Accounts

Differences With Evm Accounts

In EVM, accounts can either be externally owned (controlled by anyone with private keys) or implemented as smart contracts. However, in TVM-based blockchains, there is no distinction between accounts and smart contracts. Every account is essentially a smart contract, equipped with its own code. The concept of an externally-owned account, in the traditional sense, does not exist.

TVM Accounts

Each account, being a smart contract, has the capability to hold a balance, execute code, and interact with other accounts. This principle is known as Account Abstraction, which allows for authentication through various means, not limited to external ownership. Given that every account is a smart contract, the embedded code can incorporate any necessary authentication logic to verify a user's identity.

This flexibility of the smart contract code provides a broad range of authentication options, surpassing the traditional private key ownership.

Usage

This documentation covers the usage of two tools for deploying and interacting with the contract on the these blockchains.

  • locklift
  • everscale-inpage-provider

When using nodejs to interact with the blockchain, locklift is employed. On the other hand, when making transactions from a Dapp , everscale-inpage-provider is utilized.

If you are using locklift , then the SafeMultiSig is used as the account contract to either add the Account contract to the Accounts storage or create an instance of it. However, if you are using everscale-inpage-provider , the WalletV3 contract is utilized.

Please note that the EverWallet used contract, written in func language, is different from the Account contract which is written in t-sol.


TIP

Please navigate to Deploy Account to learn how to deploy an Account contract and use it.

For more information, please refer to the provided links.