Coder Social home page Coder Social logo

firestarter's Introduction

Introduction

This repo contains a set of tools that allows to boot and validate an EOSIO chain.

Boot, Snapshot, and validation tools can be used together or separatedly, eg: if you already have your boot in place, then you can only use validation tool to verify and validate

Current Validation tool includes these features:

  • The genesis.json.
  • The global Parameters.
  • Global Parameter - Max RAM Size
  • The System Accounts.
  • The System Contracts.
  • The erc20 Snapshot/account creation.
  • Accounts Stakes.
  • Account Permissions.
  • Validate that there are no codes in the snapshots accounts.
  • Validate Constitution
  • EOS Token Existence & Consistency

1) Boot Tool

  • Automatically setups and starts a chain.
  • Includes injection of EOS ERC20 Tokens.
  • Consider that this script recreates your wallet and starts a nodeos with custom parameters, please customize configuration files as needed.

Steps:

  • Before build add snapshot plugin
cd /eos
git merge origin/snapshot-plugin
  • Merge EOSIO/eos#3587 first

  • Remember change CORE_SYMBOL_NAME="EOS" to be EOS (vi ./eosio_build.sh)

  • If boot get stuck in Creating Account 1000/980000 ...... check ACCOUNTS_PER_TX var inparams.sh

cd boot
# optionally requires => pip install requests 
./boot.sh

2) Chain State Snapshot & Validation Tool

A) Take snapshot locally

  1. pick a block (370 in our case)
cleos get block 370
  1. take the block id 0000017239cb40966c033ebf0d9f48b1400ed620342ab134afa57b70bf0d9d77

  2. execute and wait between 5 to 15 minutes (depending on your hw speed)

cd validator
./validate_chain_at_bloc.sh 0000017239cb40966c033ebf0d9f48b1400ed620342ab134afa57b70bf0d9d77
  1. enjoy results :)

Alt Text

B) Take snapshot from a remote node

  1. obtain the genesis.json used in the chain
  2. pick a block where you want to validate the chain at (ej:4000)
cleos --url=http://the.remote.node.com:8888 get block 4000
  1. take the block id 0000017239cb40966c033ebf0d9f48b1400ed620342ab134afa57b70bf0d9d77
PEERP2P=the.remote.node.com:9876 GENESIS=/path/to/genesis ./validate_chain_at_bloc.sh 0000017239cb40966c033ebf0d9f48b1400ed620342ab134afa57b70bf0d9d77

Alt Text

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.