Skip to content
/ DIVE Public
forked from HugoByte/DIVE

DIVE deeply into the world of Blockchain and Web 3.0 using Deployable Infrastructure for Virtually Effortless blockchain integration

License

Notifications You must be signed in to change notification settings

abhiyana/DIVE

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

81 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DIVE

D.I.V.E.

About

Dive deeply into the world of Blockchain and Web 3.0 using D.I.V.E. (Deployable Infrastructure for Virtually Effortless blockchain integration),The Dive package aim to implement its services and API for ICON Blockchain. The kurtosis services and API are designed to simplify the process of deploying various nodes and services for development and testing and enhance the overall user experience. Implementing kurtosis for the ICON blockchain can help ease the developers in the ecosystem to focus more on building the business logic without worrying about the setup which consumes a significant amount of time.

The vision is to making ICON the interoperable hub by easing the setup of BTP and IBC for ICON and the connecting chains.

This repository uses kurtosis package

Setup and requirements

Before proceeding make sure to have

Integrating chain

  • ICON
  • ETHEREUM

Integrating node

  • Icon node service package - This package is responsible for running the ICON node and providing the configuration to the given services.
  • Icon BTP Integration - This provides the setup for Deploying BTP Smart Contracts and Relay
  • Evm chain node package - This package is responsible for running the EVM chain node and providing the configuration to the given services.
  • Evm Util Package - This package is responsible for Uploading and Interacting with Smart Contracts Deployed on EVM based chains.
  • Evm BTP Integration - This provides setup for Deploying BTP Smart Contracts and Relay Setup

Running Dive

Dive-cli is a command line tool that will be used for starting the chain and crosschain communication between two different chains

Installing

brew install hugobyte/tap/dive-cli

The available commands are -

  1. bridge:

    For connecting the two different chains. This will create an relay to connect two different chains and pass any messages between them

    subcommands

    • btp : Starts BTP bridge between Chain A and Chain B
  2. chain :

    For building, initialising and starting a specified blockchain node. By executing this command the node will be launched by enabling the network participation and ledger maintenance within the specified blockchain ecosystem

    subcommands

    • eth : Build, initialise and start a eth node.
    • hardhat: Build, initialise and start a hardhat node.
    • icon: Build, initialise and start a icon node.
  3. clean:

    For cleaning the kurtosis enclave

  4. discord:

    Redirect to the DIVE discord channel

  5. tutorial:

    Redirect to the DIVE youtube channel

  6. version:

    For getting the current version of the CLI

Example

  • For building,initialising and starting the icon chain
dive chain icon
  • icon-icon cross chain communication
dive bridge btp --chainA icon --chainB icon
  • icon-eth cross chain communication
dive bridge btp --chainA icon --chainB eth
  • For cleaning the enclave
dive clean
  • For running the 2 chains
 dive chain icon -g <path of genesis.json> -c <path of config.json> -i <chain1_name>
dive chain icon -g <path of genesis.json> -c <path of config.json> -i <chain2_name>

Find the example genesis here

NOTE : cid will be changed based on the genesis file

Testing

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request.

  1. Fork the Project.
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'feature message')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request.

References

Special thanks to Kurtosis-Tech.

License

Distributed under the Apache 2.0 License. See LICENSE for more information.

Feedback

We would happy to hear your thoughts on our project. Your feedback helps us improve and make it better for everyone. Please submit your valuable feedback here

About

DIVE deeply into the world of Blockchain and Web 3.0 using Deployable Infrastructure for Virtually Effortless blockchain integration

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Solidity 47.4%
  • Starlark 22.5%
  • TypeScript 16.7%
  • Go 12.8%
  • Makefile 0.3%
  • Shell 0.2%
  • JavaScript 0.1%