Giter Club home page Giter Club logo

ice-substrate's Introduction

ice.png

GitHub last commit GitHub tag (latest by date) license Twitter URL Medium Telegram

ICE Network is an EVM compatible network built with Parity’s Substrate framework. ICE is the first network to use the Substrate SDK to extend the feature-set of an existing layer one blockchain protocol. In addition, ICE will provide the much-needed addition of EVM compatibility to the ICON ecosystem

Setup

Install Rust

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Nightly build and toolchain setup

rustup default stable
rustup update
rustup update nightly
rustup target add wasm32-unknown-unknown --toolchain nightly

This should be sufficient to get started, refer to Substrate installation guide for more details if needed

Build

Prerequisites (Ubuntu 20.04)

  1. rust toolchain with wasm32-unknown-unknown target added
  2. build-essential
  3. libclang-dev

To build the chain, execute the following commands from the project root:

$ cargo build --release

Start Frost Node (Development)

To execute the chain, run:

$ ./target/release/ice-node --dev --tmp

Note: optional --tmp flag will automatically purge the node DB

This will start a local development ICE node with solo validator and predefined accounts, use Polkadot-JS to explore the network

Use manual seal to produce block manually through RPC

$ ./target/release/ice-node --dev --sealing manual

Start Arctic Collator (Local Relay Chain)

git clone https://github.com/paritytech/polkadot.git -b release-v0.9.19
cd polkadot
cargo build --release
cd -

Install Polkadot-launch

Prerequisites (tested on Ubuntu 20.04)

  1. node version 16.2.0
  2. yarn (using npm install --global yarn)
yarn global add polkadot-launch

Run Polkadot-launch

cd ./ice-substrate/resources

polkadot-launch arctic-launch.json

It will about 2 minutes to start the relay chain and arctic collator

ice-substrate's People

Contributors

mohamedelshami avatar abhijeetbhagat avatar 0xrust avatar shivam-devops avatar dependabot[bot] avatar viveksharmapoudel avatar sudipghimire533 avatar itsmemz avatar ibrizsabin avatar simsonraj avatar daneker avatar

ice-substrate's Issues

Build Error When pallet airdrop is merged into web3labs

The web3labs main branch and pallet airdrop compiles fine separately but when pallet airdrop is merged into web3labs or added as dependecy in web3labs the build fails with following error:
--> /workspace/.cargo/git/checkouts/substrate-7e08433d4c370a21/158cdfd/primitives/runtime-interface/src/impls.rs:45:1 | 45 | assert_eq_size!(usize, u32); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: source type:usize(64 bits) = note: target type:u32(32 bits) = note: this error originates in the macroassert_eq_size` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0512]: cannot transmute between types of different sizes, or dependently-sized types
--> /workspace/.cargo/git/checkouts/substrate-7e08433d4c370a21/158cdfd/primitives/runtime-interface/src/impls.rs:47:1
|
47 | assert_eq_size!(*const u8, u32);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: source type: *const u8 (64 bits)
= note: target type: u32 (32 bits)
= note: this error originates in the macro assert_eq_size (in Nightly builds, run with -Z macro-backtrace for more info)`

When searched thorugh similar issues faced by others it looks like this occurs when we forget to add std as feature when using parity crates. we have combed through all the toml files to find any such missing imports but std is included in all parity dependencies. Other than this we have tried building with following toolchains as well:

    • Using rustc nightly-2022-01-16 with stable-1.61 & stable-1.58
    • Using nightly nightly-2022-01-10 with stable-1.61 & stable-1.58
      The issue can be reproduced if we run build on branch build-error.

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.