GithubHelp home page GithubHelp logo

eosio-playground's Introduction

EOSIO Playground

This is my playground for EOS.IO software on EOS Blockchain.

Dependency repositories:

Installation

  • System (EOSIO tools & SC toolkit):
    • Linux (using WSL)
    • Mac
  • Editor (ST3 or VSC)

Below is the details for installing both on Linux & Mac OS.

Linux

Follow the steps for EOSIO components - cleos, nodeos, keosd

  • 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
$ 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

Follow the steps [for Compiler i.e. eosio-cpp, ....]

  • 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
  • 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

Mac

Follow the steps for EOSIO components - cleos, nodeos, keosd

  • Source
  • Steps:
    • pre-requisite: Cover this first.
    • ibrew tap eosio/eosio
    • ibrew install eosio

Follow the steps [for Compiler i.e. eosio-cpp, ....]

  • Source
  • Steps:
    • pre-requisite: Cover this first.
    • ibrew tap eosio/eosio.cdt
    • ibrew install eosio.cdt

Editor

  • 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)"
      

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 ๐Ÿ†’ image

TODO also looks in good color like this image

  • ST
    • Install the tabnine package

Setup for Dependency Libraries

Follow the steps:

Part A: EOSIO libraries

  • 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
  • Commands for updating folder:
    • boost:
      • cd boost
      • svn update
    • eosiolib:
      • cd eosiolib
      • svn update

Part B: EOSIO system contracts

  • 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
  • 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

Part C: EOS API Header

  • 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
NOTE: Make a bash file for all the git & svn operations - setup.sh

Contracts

Commands

EOSIO DApp Tools

Deploy a contract [on Testnet]

  • 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

eosio-playground's People

Contributors

abhi3700 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.