-
Notifications
You must be signed in to change notification settings - Fork 55
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update EVM Accounts text #675
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
@@ -16,17 +16,10 @@ There are three types of accounts used for EVM on Flow. | |||||||||||||||||||
|
||||||||||||||||||||
1. **Externally Owned Accounts (EOA)**: EOAs are controlled by private individuals using cryptographic keys and can initiate transactions directly. They are the primary account type for users to interact with the blockchain, holding and sending cryptocurrency or calling smart contract functions. | ||||||||||||||||||||
2. **Contract Accounts**: These accounts hold smart contract code and are governed by this code's logic. Unlike EOAs, Contract Accounts do not initiate transactions on their own but can execute transactions in response to calls they receive from EOAs or other contracts. | ||||||||||||||||||||
3. **Cadence Owned Accounts (COA)** | ||||||||||||||||||||
3. **Cadence Owned Accounts (COA)**: Bridging Cadence and EVM environments, COAs operate similarly to EOAs but execute transactions directed from Cadence. Created from Cadence without a key, COAs are assigned a 20-byte EVM address. As a Resource type owned by a Flow account in the Cadence Virtual Machine, COAs can run EVM transactions, deploy Solidity contracts from Cadence, and perform other EVM interactions. This integration allows developers to utilize the full potential of Cadence within the EVM framework on Flow. | ||||||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||||||||||||
|
||||||||||||||||||||
EOAs and Contract accounts function the same as on other EVM networks. Read more about EOAs and Contract accounts on the [Ethereum docs](https://ethereum.org/developers/docs/accounts). EVM developers can use EVM on Flow without having to use COAs. However, in order to leverage all the features of Cadence, developers will need to utilize Cadence Owned Accounts. | ||||||||||||||||||||
|
||||||||||||||||||||
## Cadence Owned Accounts | ||||||||||||||||||||
|
||||||||||||||||||||
Cadence Owned Accounts (COAs) are a new account type on Flow which mediates interactions between EVM and Cadence environments. COAs are intended for use by end-users, the same as EOAs. However, COAs execute EVM transactions as directed from Cadence whereas EOAs run EVM transactions identically to other EVMs via the JSON-RPC endpoint. | ||||||||||||||||||||
Unlike EOAs, COAs do not have a key but are assigned a 20-byte EVM address upon creation from Cadence. | ||||||||||||||||||||
|
||||||||||||||||||||
COAs exist in Cadence as a Resource type which is in turn owned by a Flow account on the Cadence VM. COAs facilitate the execution of EVM transactions using its `run` method. They also enable the deployment of Solidity contracts from Cadence, as well as other utility functions to interact with EVM. | ||||||||||||||||||||
![Account-Model](flow-evm-account-model.png) | ||||||||||||||||||||
|
||||||||||||||||||||
For more information on Cadence Owned Accounts, see the [Flow EVM Support FLIP](https://github.com/onflow/flips/pull/225/files) | ||||||||||||||||||||
[EOAs and Contract](https://ethereum.org/developers/docs/accounts) accounts function the same as on other EVM networks. EVM developers can use EVM on Flow without having to use COAs. However, in order to unlock all the features of Cadence, developers may choose to utilize Cadence Owned Accounts. | ||||||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. maybe link out to Wallets page? |
||||||||||||||||||||
|
||||||||||||||||||||
![Account-Model](flow-evm-account-model.png) | ||||||||||||||||||||
For more information on Cadence Owned Accounts, see the [Flow EVM Support FLIP](https://github.com/onflow/flips/pull/225/files). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.