This is my playground for EOS.IO software on EOS Blockchain.
Dependency repositories:
- eos -
cleos
,nodeos
,keosd
- eosio.cdt -
eosio-cpp
,... - eosio.contracts -
eosio.bios
,eosio.msig
,eosio.system
,eosio.token
,eosio.wrap
- Oraclize EOS API header
- System (EOSIO tools & SC toolkit):
- Linux (using WSL)
- Mac
- Editor (ST3 or VSC)
Below is the details for installing both on Linux & Mac OS.
- M-1 (from setup file)
- download latest (stable) version of
.deb
file from here. - Install
$ wget https://github.com/eosio/eos/releases/download/v2.0.9/eosio_2.0.9-1-ubuntu-18.04_amd64.deb $ sudo apt install ./eosio_2.0.9-1-ubuntu-18.04_amd64.deb
- Uninstall
- download latest (stable) version of
$ sudo apt remove eosio
- M-2 (from scratch)
- Install
$ git clone --recursive https://github.com/eosio/eos $ cd eosio $ ./scripts/eosio_build.sh $ sudo ./scripts/eosio_install.sh
- Uninstall
$ cd eosio $ ./scripts/eosio_build.sh $ sudo ./scripts/eosio_install.sh
- M-1 (from setup file)
- download latest (stable) version of
.deb
file from here. - in the bash terminal
$ wget https://github.com/eosio/eosio.cdt/releases/download/v1.7.0/eosio.cdt_1.7.0-1-ubuntu-18.04_amd64.deb $ sudo apt install ./eosio.cdt_1.7.0-1-ubuntu-18.04_amd64.deb
- Uninstall
$ sudo apt remove eosio.cdt
- download latest (stable) version of
- M-2 (from scratch)
- in the bash terminal
$ git clone --recursive https://github.com/eosio/eosio.cdt $ cd eosio.cdt $ ./scripts/eosiocdt_build.sh $ sudo ./scripts/eosiocdt_install.sh
- Uninstall
$ cd eosio.cdt $ ./scripts/eosiocdt_build.sh $ sudo ./scripts/eosiocdt_install.sh
-
VSC
-
Install as per instruction:
- Refer this for installing packages & put the include paths (for linting) in the settings page as mentioned below:
M-1 1. Create a cpp config file named "c_cpp_properties.json" inside ".vscode" in the workspace/repository by clicking on the 'C++' in bottom menu in the editor. Get this file [here](./.vscode/c_cpp_properties.json) 2. Add this folder for EOSIO enabling: "/usr/local/Cellar/eosio.cdt/1.8.1/opt/eosio.cdt/include/" NOTE: update the eosio.cdt version. Also, confirm the directory path exists via `$ find / -type d -name "*eosio.cdt*"` in terminal. OR M-2 [RECOMMENDED] 1. Add [this](https://github.com/abhi3700/my_coding_toolkit/blob/master/vsc_all.md#settings-json) to "settings.json" in vscode. <kbd>cmd+shift+p</kbd> >> "Preferences: Open Settings (JSON)"
- TabNine: For AI based suggestion
-
NOTE: There will be an error shown like this, but it's ok โ . This linting error can be removed by uncommenting "c-cpp-flylint.includePaths" in this settings. Rest looks clean ๐
- ST
- Install the tabnine package
Follow the steps:
- Repository: eosio.cdt
- copy and paste the following folders from
Source:
eosio.cdt
repo:- goto the "libraries" folder:- boost
- eosiolib
Destination:
eosio-playground
- Commands for creating folder:
- boost:
svn checkout https://github.com/EOSIO/eosio.cdt/trunk/libraries/boost/include/boost
- eosiolib:
svn checkout https://github.com/EOSIO/eosio.cdt/trunk/libraries/eosiolib
- boost:
- Commands for updating folder:
- boost:
cd boost
svn update
- eosiolib:
cd eosiolib
svn update
- boost:
- Repository: eosio.contracts
- copy and paste the following folders from
Source:
eosio.contracts
git repo:- goto the "libraries" folder:- eosio.bios
- eosio.msig
- eosio.system
- eosio.token
- eosio.wrap
- Commands for creating folder:
- eosio.bios:
svn checkout https://github.com/EOSIO/eosio.contracts/trunk/eosio.bios
- eosio.msig:
svn checkout https://github.com/EOSIO/eosio.contracts/trunk/eosio.msig
- eosio.system:
svn checkout https://github.com/EOSIO/eosio.contracts/trunk/eosio.system
- eosio.token:
svn checkout https://github.com/EOSIO/eosio.contracts/trunk/eosio.token
- eosio.wrap:
svn checkout https://github.com/EOSIO/eosio.contracts/trunk/eosio.wrap
- eosio.bios:
- Commands for updating folder:
- eosio.bios:
cd eosio.bios
svn update
- eosio.msig:
cd eosio.msig
svn update
- eosio.system:
cd eosio.system
svn update
- eosio.token:
cd eosio.token
svn update
- eosio.wrap:
cd eosio.wrap
svn update
- eosio.bios:
- Repository: eos-api
- create folder inside
eosio-playground
cloned repo.:git submodule add https://github.com/oraclize/eos-api.git eos-api
- update the repo. inside
eosio-playground
cloned repo.:- M-1:
git submodule update
- M-2:
cd eos-api
git pull
- M-1:
NOTE: Make a bash file for all the git
& svn
operations - setup.sh
- Quickstart
- Hello
- CRUD
- Todo
- Messenger
- FoodApp
- ShoppingApp
- StakeForMe: both CPU & NET
- Timestamp
- TweetBot
- OLX
- Voting
- OTP
- Lottery
- BP Info.
cleos
: How to guides
- EOSIO SDK for Java - https://github.com/EOSIO/eosio-java
- EOSIO SDK for C++ - https://github.com/EOSIO/eos/blob/master/programs/cleos/main.cpp
- Ensure you have a wallet created locally
- Create an EOS account with public keys (owner & active)
- Now, link this EOS account with your wallet created by importing the public key using private key (secret to you)
- Now, deploy contract (
.wasm
) to your testnet from wallet by setting e.g.cabeos1test1@active