Skip to content

Commit

Permalink
docs: document supported account variants
Browse files Browse the repository at this point in the history
  • Loading branch information
xJonathanLEI committed Jan 9, 2024
1 parent 32e9b0f commit 491eb81
Showing 1 changed file with 12 additions and 4 deletions.
16 changes: 12 additions & 4 deletions book/src/accounts.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,22 @@
# Accounts

Starkli sends out transactions through accounts. Starknet natively supports [account abstraction](https://ethereum.org/en/roadmap/account-abstraction/) and all accounts are smart contracts. Therefore, there are many "flavors" of accounts and Starkli supports the most popular ones. Starkli refers to these "flavors" as _variants_.
Starkli sends out transactions through accounts. Starknet natively supports [account abstraction](https://ethereum.org/en/roadmap/account-abstraction/) and all accounts are smart contracts. Therefore, there are many "flavors" of accounts and Starkli supports the most popular ones. Starkli refers to these "flavors" as _variants_. See [this section](#supported-account-variants) for the supported variants.

Currently, the only supported variant is [OpenZeppelin's account contract implementation](https://github.com/OpenZeppelin/cairo-contracts/blob/70cbd05ed24ccd147f24b18c638dbd6e7fea88bb/src/openzeppelin/account/presets/Account.cairo), but many more are expected to be supported soon.
Accounts can be created and managed through the `starkli account` command. Variant-specific commands are available under `starkli account <VARIANT>` (where `<VARIANT>` is the unique identifier of the variant).

Accounts can be created and managed through the `starkli account` command. Variant-specific commands are available under `starkli account <VARIANT>`.
## Supported account variants

The current version of Starkli supports these account variants (by alphabetical order):

| Vendor | Identifier | Link |
| ------------ | ---------- | ------------------------------------------------------- |
| Argent | `argent` | [Link](https://www.argent.xyz/argent-x/) |
| Braavos | `braavos` | [Link](https://braavos.app/) |
| OpenZeppelin | `oz` | [Link](https://github.com/OpenZeppelin/cairo-contracts) |

## Account creation

Before creating an account, you must first decide on the _variant_ to use. As of this writing, the only supported variant is `oz`, the OpenZeppelin account contract.
Before creating an account, you must first decide on the _variant_ to use. As an example here, we will use the OpenZeppelin variant, whose identifier is `oz`.

All variants come with an `init` subcommand that creates an account file ready to be deployed. For example, to create an `oz` account:

Expand Down

0 comments on commit 491eb81

Please sign in to comment.