diff --git a/docs/developer-docs/docs/build-a-keychain/operate-a-keychain/create-a-keychain.md b/docs/developer-docs/docs/build-a-keychain/operate-a-keychain/create-a-keychain.md index 095edd255..0187aa711 100644 --- a/docs/developer-docs/docs/build-a-keychain/operate-a-keychain/create-a-keychain.md +++ b/docs/developer-docs/docs/build-a-keychain/operate-a-keychain/create-a-keychain.md @@ -8,45 +8,51 @@ sidebar_position: 2 To become a **Keychain operator**, you need to create and configure a Keychain entity on-chain, as shown in this guide. -## 1. Run a node - -1. Run a local chain as explained here: [Run a local chain](/operate-a-node/run-a-local-chain). +:::tip +In the steps below, you'll interact with a [local chain](/operate-a-node/run-a-local-chain). To become an actual Keychain operator, you need to [join Buenavista](/operate-a-node/buenavista-testnet/join-buenavista) instead. However, we recommend running a local chain first to test your configuration. +::: - To become an actual Keychain operator, you need to [join Buenavista](/operate-a-node/buenavista-testnet/join-buenavista) instead. However, we recommend running a local chain first to test your configuration. +:::tip +You can skip this guide and test a preconfigured Keychain. Just run a local node using our [`just` script](/operate-a-node/run-a-local-chain#option-1-run-a-just-script) and [start fulfilling requests](fulfill-requests-from-cli). +::: - For the rest of this guide, we'll assume you have a running Warden Protocol node with a local account (key) that has a few [WARD tokens](/tokens/ward-token/ward). You'll use these tokens to fund the Keychain and its Writers. +## 1. Run a node -2. The next steps require your local account name, or **key name**. It's referenced as `my-key-name` in the provided command-line examples. +1. Run a local chain as explained here: [Run a local chain](/operate-a-node/run-a-local-chain). + + For the rest of this guide, we'll assume you have a running Warden Protocol node with a local account (key) that has a few [WARD tokens](/tokens/ward-token/ward). You'll use these tokens to fund the Keychain and its Writers. + +2. The next steps require your local account name, or key name. It's referenced as `my-key-name` in the provided command-line examples. - You can check the list of available keys by executing this command: + You can check the list of available keys by executing this command: - ```bash - wardend keys list - ``` - - To check the local account balance, run this: - - ```bash - wardend query bank balances my-key-name - ``` - - :::tip - If you used a `just` script or a devnet snapshot to run your node, the local account name is `shulgin`. - ::: + ```bash + wardend keys list + ``` + + To check the local account balance, run this: + + ```bash + wardend query bank balances my-key-name + ``` + + :::tip + If you used our `just` script to run the node, the local account name is `shulgin`. + ::: -3. In some of the commands, you'll also need to specify your **chain ID**. The actual value depends on the configuration you used when running your node. +3. In some of the commands, you'll also need to specify your chain ID. The actual value depends on the configuration you used when running your node. - To check your chain ID, run this: + To check your chain ID, run this: - ``` - wardend status - ``` + ``` + wardend status + ``` - See the `network` field in the output. + See the `network` field in the output. - :::tip - If you used a `just` script or a devnet snapshot to run your node, the chain ID is `warden_1337-1`. - ::: + :::tip + If you used our `just` script to run the node, the chain ID is `warden_1337-1`. + ::: ## 2. Register a Keychain @@ -54,28 +60,28 @@ The following steps show how to register a new Keychain entity on-chain. 1. Run this command to create a new Keychain: - ```bash - wardend tx warden new-keychain \ - --name 'my-keychain-name' \ - --from my-key-name \ - --chain-id chain_123-1 \ - --description 'my-keychain-description' \ - --keychain-fees "{\"key_req\":[{\"amount\":\"100\",\"denom\":\"award\"}],\"sig_req\":[{\"amount\":\"1\",\"denom\":\"award\"}]}" - ``` + ```bash + wardend tx warden new-keychain \ + --name 'my-keychain-name' \ + --from my-key-name \ + --chain-id chain_123-1 \ + ``` + + Specify the required details: - Specify the following details: + - `name`: The Keychain name + - `from`: Your local account name (key name) + - `chain-id`: The ID of the chain you're running - - `name`: The Keychain name - - `from`: Your local account name (key name) - - `chain-id`: The ID of the chain you're running - - `description` (optional): The Keychain description - - `keychainFees`(optional): - - `key_req`: A fee in aWARD for creating a key pair - - `key_req`: A fee in aWARD for signing a transaction + Optionally, you can also set the following: - **Note**: aWARD equals 0.000000000000000001 WARD. + - `description`: The Keychain description + - `keychain-fees`: Keychain fees in aWARD (0.000000000000000001 WARD) + - `key_req`: A fee for creating a key pair + - `sig_req`: A fee for signing a transaction + - For more settings, see `wardend tx warden new-keychain --help`. -2. Enter your passphrase if needed and confirm the transaction. A new Keychain object will be created on-chain. +2. Confirm the transaction. A new Keychain object will be created on-chain. 3. Every Keychain is created with a **Keychain ID** that identifies it in key and signature requests and collects fees from users. You'll need this ID to operate your Keychain. Run the following command and check the `id` field in the output: @@ -107,46 +113,81 @@ A Keychain Writer is an account that can write Keychain results (public keys and To add a Keychain Writer, take these steps: -1. Run this command to add a Keychain Writer with a preferred name: +1. Create a new key (account) with a preferred name: - ```bash - wardend keys add my-keychain-writer-name - ``` - The output should look like this: + ```bash + wardend keys add my-keychain-writer-name + ``` + The output should look like this: - ```bash - - address: warden18my6wqsrf5ek85znp8x202wwyg8rw4fqhy54k2 - name: my-keychain-writer-name - pubkey: '{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"A2cECb3ziw5/LzUBUZIChyek3bnGQv/PSXHAH28xd9/Q"}' - type: local - - - **Important** write this mnemonic phrase in a safe place. It is the only way to recover your account if you ever forget your password. - - virus boat radio apple pilot ask vault exhaust again state doll stereo slide exhibit scissors miss attack boat budget egg bird mask more trick - ``` + ```bash + - address: warden18my6wqsrf5ek85znp8x202wwyg8rw4fqhy54k2 + name: my-keychain-writer-name + pubkey: '{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"A2cECb3ziw5/LzUBUZIChyek3bnGQv/PSXHAH28xd9/Q"}' + type: local + + + **Important** write this mnemonic phrase in a safe place. It is the only way to recover your account if you ever forget your password. + + virus boat radio apple pilot ask vault exhaust again state doll stereo slide exhibit scissors miss attack boat budget egg bird mask more trick + ``` + +2. Write down the **mnemonic phrase** and the **address** of the new account. You'll need this information to interact with the chain and restore the account. Note that only this address will be able to publish signatures and public keys on behalf of the Keychain. + +3. Fund the account with some tokens. Specify your key name, the Keychain Writer name, and chain ID: -2. Note down the **mnemonic phrase** and the **address** of the new account. You'll need this information to interact with the chain. + ```bash + wardend tx bank send my-key-name $(wardend keys show -a my-keychain-writer-name) \ + 1000000000000000000award \ + --chain-id chain_123-1 + ``` + + To check the Keychain Writer balance, run this: + + ```bash + wardend query bank balances my-keychain-writer-name + ``` :::tip - Only the Keychain Writer address will be able to publish signatures and public keys on behalf of the Keychain. + In this example, we used `$(wardend keys show -a my-keychain-writer-name)` to get the Keychain Writer address by its name. Alternatively, you can just specify the address obtained in the previous step. ::: +4. Finally, add the Writer account to your Keychain. Specify the Keychain ID from [Step 2.3](#2-register-a-keychain) and other details: + + ``` + wardend tx warden add-keychain-writer --from my-key-name \ + --keychain-id 1 --writer $(wardend keys show -a my-keychain-writer-name) \ + --chain-id chain_123-1 + ``` -3. Fund the new account with some tokens. Specify your key name, the Keychain Writer address, and chain ID: + To check the result, get the list of Keychains: - ```bash - wardend tx bank send my-key-name \ - $(wardend keys show -a my-keychain-writer-name) \ - 1000000000000000000award \ - --chain-id chain_123-1 - ``` + ``` + wardend query warden keychains + ``` - To check the Keychain Writer balance, run this: - - ```bash - wardend query bank balances my-keychain-writer-name - ``` + In the output, find your Keychain and check the `writers` list: + + ``` + keychains: + - admins: + - warden1h7akmejqcrafp3mfpjqamghh89kzmkgjzsy3mc + creator: warden1h7akmejqcrafp3mfpjqamghh89kzmkgjzsy3mc + description: my-keychain-description + fees: + key_req: + - amount: "100" + denom: award + sig_req: + - amount: "1" + denom: award + id: "1" + name: my-keychain-name + writers: + - warden18my6wqsrf5ek85znp8x202wwyg8rw4fqhy54k2 + pagination: + total: "1" + ``` ## Next steps diff --git a/docs/developer-docs/docs/build-a-keychain/operate-a-keychain/fulfill-requests-from-cli.md b/docs/developer-docs/docs/build-a-keychain/operate-a-keychain/fulfill-requests-from-cli.md index 9b23b7d82..b509defb1 100644 --- a/docs/developer-docs/docs/build-a-keychain/operate-a-keychain/fulfill-requests-from-cli.md +++ b/docs/developer-docs/docs/build-a-keychain/operate-a-keychain/fulfill-requests-from-cli.md @@ -6,22 +6,24 @@ sidebar_position: 2 ## Overview -This is a step-by-step guide explaining how to fulfill key and signature requests with your Keychain from the command line. - -For generating keys and signing messages, you'll use the **CLIChain** (`clichain`) tool. +This is a step-by-step guide explaining how to fulfill key and signature requests with your Keychain from the command line. For generating keys and signing messages, you'll use the **CLIChain** (`clichain`) tool. Learn more: - For a list of CLIChain commands, see [Implementation: CLIChain](../implementations/clichain). - To learn more about key and signature requests, see [Request flow](/learn/request-flow). +:::tip +In this guide, you'll interact with a [local chain](/operate-a-node/run-a-local-chain) and create key and signature requests using [node commands](/operate-a-node/node-commands). Alternatively, you can [Join Buenavista](/operate-a-node/buenavista-testnet/join-buenavista) and take the same steps but create requests using [SpaceWard](https://help.wardenprotocol.org). +::: + ## Prerequisites Before you start, complete the following prerequisites: -- [Run a local chain](/operate-a-node/run-a-local-chain) or [Join Buenavista](/operate-a-node/buenavista-testnet/join-buenavista). Make sure the node is running. -- Make sure you can request a new key – for example, from [SpaceWard](https://help.wardenprotocol.org/spaceward/manage-keys#request-a-key). -- [Create a Keychain](create-a-keychain). +- [Run a local chain](/operate-a-node/run-a-local-chain). If you used [manual configuration](/operate-a-node/run-a-local-chain#option-2-configure-manually), make sure you [created a Space](/operate-a-node/run-a-local-chain#5-add-more-settings). +- [Create a Keychain](create-a-keychain). You can skip it if you used our [`just` script](/operate-a-node/run-a-local-chain#option-1-run-a-just-script) to run the node. + ## 1. Install CLIChain @@ -33,25 +35,50 @@ go install ./cmd/clichain ## 2. Export variables -In the next steps, you'll use the following values: +The next steps require that you export your node and Keychain settings as environment variables. -- Your chain ID you used when [running a node](create-a-keychain#1-run-a-node). -- Your Keychain ID obtained when [registering a Keychain](create-a-keychain#2-register-a-keychain). -- Your Keychain Writer name you specified when [adding a Keychain Writer](create-a-keychain#3-add-a-keychain-writer). +If you used our `just` script to run the node, you can export the predefined settings: + +```bash +export CHAIN_ID=warden_1337-1 +export KEY_NAME=shulgin +export SPACE_ID=1 +export KEYCHAIN_ID=1 +export KEYCHAIN_WRITER_NAME=shulgin +``` -Export them as environment variables: +Otherwise, use custom values: ```bash export CHAIN_ID=chain_123-1 +export KEY_NAME=my-key-name +export SPACE_ID=1 export KEYCHAIN_ID=1 -export KEYCHAIN_WRITER_NAME=my-keychain-writer-name +export KEYCHAIN_WRITER_NAME=my-keychain-writer-name ``` +- `CHAIN_ID`: The chain ID you used when running a node. + Returned by `wardend status` in the `network` field. +- `KEY_NAME`: Your local account name, or key name. + Returned by `wardend keys list`. +- `SPACE_ID`: Your Space ID. + Returned by `wardend query warden spaces`. +- `KEYCHAIN_ID`: Your Keychain ID obtained when [registering a Keychain](create-a-keychain#2-register-a-keychain). + Returned by `wardend query warden keychains` in the `id` field. +- `KEYCHAIN_WRITER_NAME`: Your Keychain Writer name specified when [adding a Keychain Writer](create-a-keychain#3-add-a-keychain-writer). + Returned by `wardend keys list`. + ## 3. Fulfill a key request -When a user requests a new key, the Keychain generates a new private key, stores it securely, and submits the public key to the chain. +When a user requests a new key, the Keychain generates a new private key, stores it securely, and submits the public key to the chain. To test this flow, take the steps below. -1. Use SpaceWard or the command line to create a new Space and request a new key. +1. Request a new key: + + ``` + wardend tx warden new-action new-key-request \ + --space-id $SPACE_ID --keychain-id $KEYCHAIN_ID --key-type KEY_TYPE_ECDSA_SECP256K1 \ + --from $KEY_NAME -y --chain-id $CHAIN_ID | wardend q wait-tx + ``` 2. Get all key requests: @@ -59,16 +86,16 @@ When a user requests a new key, the Keychain generates a new private key, stores wardend query warden key-requests --keychain-id $KEYCHAIN_ID ``` - Your key request ID will be returned in the `id` field of the output: + Your request ID will be returned in the `id` field of the output: ```json - id=1 + id: "1" ``` -3. Export the request ID: +3. Export the request ID using the command below. Replace `1` with the actual ID you obtained. ```bash - export KEY_REQUEST_ID=1 # replace with the actual key request ID + export KEY_REQUEST_ID=1 ``` 4. Use the CLIChain [`generate`](../implementations/clichain#generate-a-private-key) command to generate the key: @@ -83,18 +110,54 @@ When a user requests a new key, the Keychain generates a new private key, stores export PUBLIC_KEY=$(go run ./cmd/clichain public-key -k private_$KEY_REQUEST_ID.key -o base64) ``` -3. Fulfill the key request by submitting a transaction from the Keychain Writer account: +6. Fulfill the request by submitting a transaction from the Keychain Writer account: ```bash - wardend tx warden fulfill-key-request $KEY_REQUEST_ID $PUBLIC_KEY / + wardend tx warden fulfill-key-request $KEY_REQUEST_ID $PUBLIC_KEY \ --from $KEYCHAIN_WRITER_NAME --chain-id $CHAIN_ID ``` +7. Check the request status to make sure it was fulfilled: + + ``` + wardend query warden key-request-by-id --id=$KEY_REQUEST_ID + ``` + + Your request status will be returned in the `status` field of the output: + + ``` + status: KEY_REQUEST_STATUS_FULFILLED + ``` + ## 4. Fulfill a signature request -When a user requests a new key, the Keychain signs a message with the private key and submits the signature to the chain. +When a user requests a new key, the Keychain signs a message with the private key and submits the signature to the chain. To test this flow, take the steps below. -1. Use SpaceWard or the command line to create a new signature request. +1. Create a signature request: + + ``` + wardend tx warden new-action new-sign-request --from $KEY_NAME \ + --input "MrT1dvxgez7QoVFudyVn5S8xCTJjxUi5xxZyWHcji5Q=" \ + --key-id 1 -y --chain-id $CHAIN_ID | wardend q wait-tx + ``` + + :::tip + In the `--input` flag, you should provide a Base64-encoded hash. For testing purposes, you can use the hash from the example above. Alternatively, you can create one yourself – run the following command, replacing `00112233` with arbitrary raw data: + + ``` + RAW_DATA="00112233" + HASH=$(echo -n $RAW_DATA | sha256sum | awk '{print $1}') + BASE64_HASH=$(echo -n $HASH | xxd -r -p | base64) + ``` + + Then run a signature request with the `$BASE64_HASH` variable in the `--input` flag: + + ``` + wardend tx warden new-action new-sign-request --from $KEY_NAME \ + --input $BASE64_HASH \ + --key-id 1 -y --chain-id $CHAIN_ID | wardend q wait-tx + ``` + ::: 2. Get all signature requests: @@ -102,29 +165,41 @@ When a user requests a new key, the Keychain signs a message with the private ke wardend query warden sign-requests --keychain-id $KEYCHAIN_ID ``` - Your signature request ID and data for signing will be returned in the `id` and `data_for_signing` fields of the output: + Your request ID and data for signing will be returned in the `id` and `data_for_signing` fields of the output: ```bash - id: 1 - data_for_signing: rx3uiUeGwwRgSgObBBRjyauN77OTQD6gPPLIWx64y/0= + id: "1" + data_for_signing: MrT1dvxgez7QoVFudyVn5S8xCTJjxUi5xxZyWHcji5Q= ``` -3. Export your signature request data: +3. Export the request details using the command below. Specify the actual request ID and data you obtained. ```bash - export DATA=rx3uiUeGwwRgSgObBBRjyauN77OTQD6gPPLIWx64y/0= # replace with the actual data - export SIGN_REQUEST_ID=1 # replace with the actual signature request ID + export DATA=MrT1dvxgez7QoVFudyVn5S8xCTJjxUi5xxZyWHcji5Q= + export SIGN_REQUEST_ID=1 ``` -2. Use the CLIChain [`sign`](../implementations/clichain#sign-a-message) command to sign the message with the key generated in Step 3 and export the signature: +4. Use the CLIChain [`sign`](../implementations/clichain#sign-a-message) command to sign the message with the key generated in [Step 3](#3-fulfill-a-key-request). Export the signature. ```bash - export SIGNATURE=$(echo -n $DATA | base64 -d | clichain sign -k /tmp/key -o base64) + export SIGNATURE=$(echo -n $DATA | base64 -d | clichain sign -k private_$KEY_REQUEST_ID.key -o base64) ``` -3. Fulfill the signature request by submitting a transaction from the Keychain Writer account: +5. Fulfill the signature request by submitting a transaction from the Keychain Writer account: ```bash - wardend tx warden fulfill-sign-request $SIGNATURE_REQUEST_ID $SIGNATURE \ + wardend tx warden fulfill-sign-request $SIGN_REQUEST_ID $SIGNATURE \ --from $KEYCHAIN_WRITER_NAME --chain-id $CHAIN_ID ``` + +6. Check the request status to make sure it was fulfilled: + + ``` + wardend query warden sign-request-by-id --id=$KEY_REQUEST_ID + ``` + + Your request status will be returned in the `status` field of the output: + + ``` + status: SIGN_REQUEST_STATUS_FULFILLED + ``` diff --git a/docs/developer-docs/docs/build-an-app/deploy-smart-contracts-on-warden/deploy-a-wasm-contract.md b/docs/developer-docs/docs/build-an-app/deploy-smart-contracts-on-warden/deploy-a-wasm-contract.md index 46f9f9a6b..375086617 100644 --- a/docs/developer-docs/docs/build-an-app/deploy-smart-contracts-on-warden/deploy-a-wasm-contract.md +++ b/docs/developer-docs/docs/build-an-app/deploy-smart-contracts-on-warden/deploy-a-wasm-contract.md @@ -44,7 +44,7 @@ Before you start, complete the following prerequisites: wardend keys list ``` :::tip - If you used a `just` script or a devnet snapshot to run your node, the local account name is `shulgin`. + If you used our `just` script to run the node, the local account name is `shulgin`. ::: ## 1. Create a CosmWasm project diff --git a/docs/developer-docs/docs/build-an-app/deploy-smart-contracts-on-warden/deploy-an-evm-contract.md b/docs/developer-docs/docs/build-an-app/deploy-smart-contracts-on-warden/deploy-an-evm-contract.md index 6c2eef578..339c0d9e0 100644 --- a/docs/developer-docs/docs/build-an-app/deploy-smart-contracts-on-warden/deploy-an-evm-contract.md +++ b/docs/developer-docs/docs/build-an-app/deploy-smart-contracts-on-warden/deploy-an-evm-contract.md @@ -34,7 +34,7 @@ Before you start, complete the following prerequisites: wardend keys export my-key-name --unarmored-hex --unsafe ``` :::tip - If you used a `just` script or a devnet snapshot to run your node, the local account name is `shulgin`. You can check the names of available keys by running `wardend keys list`. + If you used our `just` script to run the node, the local account name is `shulgin`. You can check the names of available keys by running `wardend keys list`. ::: ## 1. Create an EVM project diff --git a/docs/developer-docs/docs/operate-a-node/run-a-local-chain.md b/docs/developer-docs/docs/operate-a-node/run-a-local-chain.md index 83a6b0dbb..42544b1c1 100644 --- a/docs/developer-docs/docs/operate-a-node/run-a-local-chain.md +++ b/docs/developer-docs/docs/operate-a-node/run-a-local-chain.md @@ -8,15 +8,12 @@ sidebar_position: 2 This guide explains how to run a local chain for development and testing purposes. -There are three ways to run a node: +There are two ways to run a node: - **Option 1: Run a `just` script** -It's the simplest way to run a local chain. Initiate a `just` script that builds the chain binary and then creates, configures, and runs a new chain. +It's the simplest way to run a local chain. Initiate our `just` script that builds the chain binary and then creates, configures, and runs a new chain. -- **Option 2: Use a devnet snapshot** -You can use a devnet snapshot with prebuilt node settings. - -- **Option 3. Configure manually** +- **Option 2. Configure manually** We recommend this option if you wish to run a node with custom settings and learn the basics of interacting with a node. ## Prerequisites @@ -36,8 +33,7 @@ brew install just ## Option 1. Run a `just` script -The simplest way to run a local chain is initiating a `just` script that builds the chain binary and then creates, configures, and runs a new chain. - +The simplest way to run a local chain is initiating our `just` script that builds the chain binary and then creates, configures, and runs a new chain. ### 1. Clone the repository @@ -62,68 +58,7 @@ You'll see blocks being produced and height incrementing. You can check the settings of your node in the genesis file: `$HOME/.warden/config/genesis.json`. There you'll find two validator addresses, a Keychain, a Space, and other settings. See `accounts`, `keychains`, `spaces`, etc. ::: -## Option 2. Use a devnet snapshot - -You can use a devnet snapshot with prebuilt node settings. - -### 1. Clone the repository - -Clone the Warden Protocol repository and navigate to the root directory: - -```bash -git clone https://github.com/warden-protocol/wardenprotocol -cd wardenprotocol -``` - -### 2. Build the binary - -1. Then use `just` to build the chain binary called `wardend`: - - ```bash - just wardend build - ``` - -2. To install the binary in your `$GOPATH`, run this command: - - ```bash - just wardend install - ``` -3. You can check the binary location and version: - - ```bash - which wardend - wardend version - ``` - -### 3. Download the snapshot - -Download the [devnet snapshot](https://github.com/warden-protocol/snapshots/raw/main/devnet.tar.gz) and extract it to `~/.warden`: - -```bash -wget https://github.com/warden-protocol/snapshots/raw/main/devnet.tar.gz -mkdir ~/.warden -tar -xvf devnet.tar.gz -C ~/.warden -``` - -:::tip -If you wish to use an alternative starting point, [check GitHub for other snapshots](https://github.com/warden-protocol/snapshots). -::: - -### 4. Run the chain - -Finally, run the chain: - -```bash -wardend start -``` - -You'll see blocks being produced and height incrementing. - -:::note -You can check the settings of your node in the genesis file: `$HOME/.warden/config/genesis.json`. There you'll find two validator addresses, a Keychain, a Space, and other settings. See `accounts`, `keychains`, `spaces`, etc. -::: - -## Option 3. Configure manually +## Option 2. Configure manually We recommend this option if you wish to run a node with custom settings and learn the basics of interacting with a node. @@ -242,41 +177,6 @@ You'll see blocks being produced and height incrementing. In the previous steps, you configured your node with the minimum settings required for running it. However, for testing purposes, you may need to enable more features – for example, a Space and a Keychain. -#### Create a Keychain - -1. While the node is running, execute the command below in a separate terminal window. Specify a custom keychain description, your key name and the chain ID: - - ```bash - wardend tx warden new-keychain \ - --name 'my-keychain-name' \ - --from my-key-name \ - --chain-id chain_123-1 - ``` - -2. Enter your passphrase and confirm the transaction. - -3. After that, you can query the node to check the result: - - ```bash - wardend query warden keychains - ``` - - The output should look like this: - - ```bash - keychains: - - admins: - - warden1h7akmejqcrafp3mfpjqamghh89kzmkgjzsy3mc - creator: warden1h7akmejqcrafp3mfpjqamghh89kzmkgjzsy3mc - fees: - key_req: [] - sig_req: [] - id: "1" - name: my-keychain-name - pagination: - total: "1" - ``` - #### Create a Space 1. To create a Space, run the following command. Specify your key name and the chain ID: @@ -307,6 +207,11 @@ In the previous steps, you configured your node with the minimum settings requir - warden1h7akmejqcrafp3mfpjqamghh89kzmkgjzsy3mc ``` +#### Create a Keychain + +To create a Keychain and add a Keychain Writer, take steps from this guide: [Create a Keychain](/build-a-keychain/operate-a-keychain/create-a-keychain). + + ## Result If the chain is up, you'll see logs every time a new block is produced (approximately every second). @@ -365,5 +270,5 @@ To learn more about `wardend` commands for interacting with the node, see [Node ::: :::tip -If you need to stop the node, use **Ctrl + C**. Note that when you run the chain again, it'll start from block 0. +If you need to stop the node, use **Ctrl + C**. To start it again from block 0, run `wardend start`. :::