Giter Club home page Giter Club logo

morge's Introduction

Description

A batch of solidity contracts deployment tool developed by Rust, currently support eth、goerli、kovan、rinkeby、ropsten、polygon、polygon-mumbai、fantom、fantom-testnet、bsc、bsc-testnet、arbitrum、arbitrum-testnet、optimism、optimism-kovan、avalanche、avalanche-fuji chains.

Requirements

Running this project and tests require the following installed:

solc (>=0.8.10). We also recommend using solc-select for more flexibility.

anvil

geth

Installation

Run the following command directly to install from crates.io.

cargo install morge

Installing from Source

cargo install --git https://github.com/yuliyu123/morge

Usage

Initialize morge to create config file under .morge directory:

morge init

Set rpc url and private key:

morge set --rpc-url $RPC_URL --private-key $PRI_KEY

Add any numbers of contracts that you want to deploy:

morge add -c examples/contract.sol:SimpleStorage --args "value"

Remove any contract that you want to delete:

morge remove -c examples/contract.sol:SimpleStorage

List configuration:

morge list

Start deploy:

morge deploy

Clear configuration:

morge clean

Verify transaction execution status by specify chainnet and transaction hash:

morge verify -c rinkeby -t 0xc6e08d3b5b1077f4662907fa547fab34bac033a0501655aca0b903057c118da8

Contributing

First of all, thanks for contributing to this project! This project adheres to the Rust Code of Conduct. This code of conduct describes the minimum behavior expected from all contributors. All kinds of issues, features and PR is welcome.

Build & Test

build: cargo build

test: cargo test -- --test-threads=1

Todo

Memory optimization

Log optimization

Multi-threads async deploy contracts

Improving tests coverage

Calling deployed contract method

Supporting user-defined mainnet api key

morge's People

Contributors

yuliyu123 avatar

Stargazers

 avatar  avatar  avatar

Watchers

 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.