# Creating Jungle 3 account

## Create Keys

To create a jungle3 account, use cleos or some other tool to create a key for you

```bash
cleos create key --to-console
export OWNER_PRIVATE_KEY= # private key provided
export ACTIVE_PRIVATE_KEY= # private key provided
```

## Create Account

Create account here with public key: <https://monitor.jungletestnet.io/#account>

```bash
export JUNGLE_ACCOUNT=
export JUNGLE_ENDPOINT=https://jungle3.cryptolions.io:443
```

{% hint style="warning" %}
Test accounts can only contain the characters a-z (lowercase), 1-5 and they **must be 12 characters.**
{% endhint %}

## Import Keys

Import private key(s).

{% tabs %}
{% tab title="Zeus" %}

```bash
zeus key import $JUNGLE_ACCOUNT --owner-private-key  --active-private-key $ACTIVE_PRIVATE_KEY --network=jungle3
```

{% endtab %}

{% tab title="Cleos" %}

```bash
cleos wallet import --private-key $ACTIVE_PRIVATE_KEY

# if you do not have a wallet created, create with
cleos wallet create --file wallet_password.pwd
# save wallet password
```

{% endtab %}
{% endtabs %}

{% hint style="warning" %}
Be sure to save your wallet password!
{% endhint %}

## Faucet

Use the faucet to get 100 initial tokens: <https://monitor.jungletestnet.io/#faucet>

## Stake CPU/NET

Now we will stake EOS for CPU/NET so that we can run transactions.

```bash
# below amounts use 100 EOS total
cleos -u $JUNGLE_ENDPOINT system delegatebw $JUNGLE_ACCOUNT $JUNGLE_ACCOUNT "35.0000 EOS" "65.0000 EOS" -p $JUNGLE_ACCOUNT@active
```

{% hint style="warning" %}
Now unfortunately this isn't enough EOS to set the smart contract.  We need to buy RAM, but the faucet only allows 1 use per 6 hours, so what do we do?  We create 3 more accounts, send the faceted EOS to our account, and buy that RAM. Let's go.
{% endhint %}

## Create more accounts

Create 3 more accounts using the same public key as before [here](https://monitor.jungletestnet.io/#account)

Hit the faucet again [here](https://monitor.jungletestnet.io/#faucet) for each account

```bash
# update from to 1,2,3 created account name
# update to to JUNGLE_ACCOUNT
# update actor to from
cleos -u https://api.jungle3.alohaeos.com push transaction '{
  "delay_sec": 0,
  "max_cpu_usage_ms": 0,
  "actions": [
    {
      "account": "eosio.token",
      "name": "transfer",
      "data": {
        "from": "tokenexampl4",
        "to": "tokenexample",
        "quantity": "95.0000 EOS",
        "memo": ""
      },
      "authorization": [
        {
          "actor": "tokenexampl4",
          "permission": "active"
        }
      ]
    }
  ]
}'
# repeat for each account
```

If the trx by some miracle goes through, **skip to** **Buy more resources.**

{% hint style="info" %}
If you get **Error 3080004: Transaction exceeded the current CPU usage limit imposed on the transaction** then you will need to stake some of the CPU first (5 EOS of the 100 you got) then send the remaining CPU (95 from the 5 you're about to stake).
{% endhint %}

```bash
export GENEROUS_JUNGLE_ACCOUNT=
cleos -u $JUNGLE_ENDPOINT system delegatebw $GENEROUS_JUNGLE_ACCOUNT $GENEROUS_JUNGLE_ACCOUNT "0.0000 EOS" "5.0000 EOS" -p $GENEROUS_JUNGLE_ACCOUNT@active  
```

Adjust transfer `amount`, `from`, and `actor` to:

```bash
"quantity": "95.0000 EOS",
"from": "first_account",
"actor": "first_account",
```

## Buy More Resources

Now we will buy 285 EOS worth of RAM.

```bash
cleos -u $JUNGLE_ENDPOINT system buyram $JUNGLE_ACCOUNT $JUNGLE_ACCOUNT "285.0000 EOS" -p $JUNGLE_ACCOUNT@active 
```

## Set eosio.code permission

`eosio.code` allows a smart contract to sign actions itself, we will set this up under the `active` permission level.

```bash
cleos -u $JUNGLE_ENDPOINT set account permission $JUNGLE_ACCOUNT active $JUNGLE_ACCOUNT --add-code
```

## #party

{% hint style="info" %}
If you still don't have enough CPU/NET, repeat the process and delegate more CPU/NET
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.liquidapps.io/liquidapps-documentation/eosio-guides/testnet-creation-guides/creating-jungle-3-account.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
