Getting Started with EOSIO - Tutorial 1
What Will I Learn?
EOSIO - Tutorial 1
Setting up a EOSIO for smart contract development.
- You will learn how to download and build EOSIO
- You will learn how to install EOSIO
- You will learn how to create genesis.json
- You will learn how to configure nodeos
- You will learn how to run nodeos
- You will learn how to create the default wallet
- You will learn how to check wallets and keys
- You will learn how to set BIOS contract
- You will learn how to create keys
- You will learn how to import key to the wallet
- You will learn how to unlock wallet
- You will learn how to create an account
Requirements
- Linux OS
- 4 GB RAM
Difficulty
- Basic
Tutorial Contents
In this tutorial shows setting up EOSIO node and basics of using EOSIO.
Tested on:
Linux Mint 18.3 Sylvia x86_64
Kernel: 4.13.0-38-generic
Memory: 3873MiB
1. Download and build all packages
git clone https://github.com/EOSIO/eos --recursive
cd eos
./eosio_build.sh
If you get...
Your system must have 7 or more Gigabytes of physical memory installed.
Not enough RAM. This worked for me.
edit the script in eos/scripts/eosio_build_ubuntu.sh
line 27 ' if ["${MEM_MEG}" -lt 7000] ' --> ' if ["${MEM_MEG}" -lt 3700]'
2. Install
cd build
sudo make install
3. Create genesis file
cd ~/Desktop/eos
nodeos --extract-genesis-json genesis.json
4. Nodeos first run
nodeos -e -p eosio --genesis-json genesis.json --delete-all-blocks --plugin eosio::chain_api_plugin --plugin eosio::history_api_plugin
Congrats! EOS is hopefully running :D
Press Ctrl + C to stop nodeos
5. Configure
Edit and save ~/.local/share/eosio/nodeos/config/config.ini
...
enable-stale-production = true
...
producer-name = eosio
...
plugin = eosio::producer_plugin
plugin = eosio::wallet_api_plugin
plugin = eosio::chain_api_plugin
plugin = eosio::http_plugin
plugin = eosio::history_api_plugin
6. Start nodeos
cd ~/Desktop/eos
nodeos
7. Create default wallet
cleos wallet create
...result:
Creating wallet: default
Save password to use in the future to unlock this wallet.
Without password imported keys will not be retrievable.
"PW5Hvj7S5gEB5afuV42KghUv8QQNQm16zB6sa1SP3qAHj1pqjSRE3"
Wallets are saved in ~/eosio-wallet/
Open ~/.local/share/eosio/nodeos/config/config.ini and find this line
signature-provider = EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV=KEY:5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3
Import (owner) key into default wallet
cleos wallet import 5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3
8. How to check wallets and keys
cleos wallet list keys
...result:
Wallets:
[
"default *"
]
[
"EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV"
]
9. Set BIOS contract
cd ~/Desktop/eos
cleos set contract eosio build/contracts/eosio.bios -p eosio@active
10. How to create key
cleos create key
cleos create key
... result:
Private key: 5JDRyqykySoRnfR5gJ3K2MbkyUBonNW43grRfab5KmDkv5Vr1vB
Public key: EOS6e8Bv7F3wDDS6JnwPyAoeC9Wft2V6KZgoEUjauAMru1KtR6Ehp
Private key: 5Khx1HhkqBsx44nSi41dj9Bfz8isCUVb8TYogTm2EwU4shaGkSY
Public key: EOS6vZh8hdVY22YjZvunnmvobjWsXL1yx6qBzRxn2S6Fr88ewcUPc
How to:
11. Create (named) wallet for user..1,
12. Import created keys (owner key and active key),
13. Unlock default wallet,
14. Create new account with default account (eosio)
cleos wallet create -n user01-wallet01
...result:
Creating wallet: user01-wallet01
Save password to use in the future to unlock this wallet.
Without password imported keys will not be retrievable.
"PW5JtUqnULEFtSrY8eseNibftTvUY9cYMbtNzLSbFZD7bnLE6rJUs"
cleos wallet import -n user01-wallet01 5JDRyqykySoRnfR5gJ3K2MbkyUBonNW43grRfab5KmDkv5Vr1vB
cleos wallet import -n user01-wallet01 5Khx1HhkqBsx44nSi41dj9Bfz8isCUVb8TYogTm2EwU4shaGkSY
...result:
imported private key for: EOS6e8Bv7F3wDDS6JnwPyAoeC9Wft2V6KZgoEUjauAMru1KtR6Ehp
imported private key for: EOS6vZh8hdVY22YjZvunnmvobjWsXL1yx6qBzRxn2S6Fr88ewcUPc
cleos wallet list keys
...result:
Wallets:
[
"default",
"user01-wallet01 *"
]
[
"EOS6e8Bv7F3wDDS6JnwPyAoeC9Wft2V6KZgoEUjauAMru1KtR6Ehp",
"EOS6vZh8hdVY22YjZvunnmvobjWsXL1yx6qBzRxn2S6Fr88ewcUPc"
]
cleos wallet unlock
//password: PW5Hvj7S5gEB5afuV42KghUv8QQNQm16zB6sa1SP3qAHj1pqjSRE3
...result:
password: Unlocked: default
cleos create account eosio user..1 EOS6e8Bv7F3wDDS6JnwPyAoeC9Wft2V6KZgoEUjauAMru1KtR6Ehp EOS6vZh8hdVY22YjZvunnmvobjWsXL1yx6qBzRxn2S6Fr88ewcUPc
...result:
executed transaction: 5ecd8bcab9ec04933928a990c068d7f0148e51029960f16226e3467bf5006181 200 bytes 27350 us
# eosio <= eosio::newaccount {"creator":"eosio","name":"user..1","owner":{"threshold":1,"keys": [{"key":"EOS6e8Bv7F3wDDS6JnwPyAoeC...
warning: transaction executed locally, but may not be confirmed by the network yet
15. How to delete wallets and all blocks if necessary
Delete genesis.json file in ~/Desktop/eos
cleos wallet stop
nodeos --genesis-json genesis.json --delete-all-blocks
Delete wallets in ~/eosio-wallet
Curriculum
This is first tutorial
Thank you for your contribution.
While I liked the content of your contribution, I would still like to extend few advices for your upcoming contributions:
I found tutorials on this topic, however your tutorial is simpler and more practical. Link1, Link2
Your contribution has been evaluated according to Utopian policies and guidelines, as well as a predefined set of questions pertaining to the category.
To view those questions and the relevant answers related to your post, click here.
Need help? Write a ticket on https://support.utopian.io/.
Chat with us on Discord.
[utopian-moderator]
Hey @proba1
Thanks for contributing on Utopian.
We’re already looking forward to your next contribution!
Want to chat? Join us on Discord https://discord.gg/h52nFrV.
Vote for Utopian Witness!