Skip to content

TrueFiEng/Mars

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Ethereum Mars

CI

Devops tool for Ethereum Smart Contracts to take your project to the moon and beyond.

Features

Fearless deployments and updates

Forget about deployment pain! Write once, dry-run and deploy to multiple networks. With support for Proxy pattern, contract updates are first-class citizen.

Focus on what’s important

Don’t roll your own hacky script. Let Mars handle the details: gas fees, resuming broken deployments, waiting for confirmations and storing the results.

Infrastructure-as-code

Solidity source does not paint the full picture. Store deployment configuration, environments and infrastructure in your git repository.

Learn in 5 minutes

No need to learn a new language. Write your configuration in JS/TS with familiar tooling like ethers.js and Waffle.

Example

Configuration

import { deploy, connect, contract } from 'ethereum-mars'
import { ERC20, WETH9, AwesomeExchange } from './build/artifacts'

deploy(() => {
  const myToken = contract('myToken', ERC20, [20_000])
  const weth = connect('weth', WETH9, '0xC02a...6Cc2')
  contract(AwesomeExchange, [myToken, weth])
})

Output

> mars deploy

Transaction: Deploy myToken
  Fee: $5.72, Ξ0.00875217
  Balance: $753.86, Ξ1.15322565145876257
  Hash: 0x98dd...bdd8
  Block: 22650076
  Address: 0x4b0a4...F2f8b

Transaction: Deploy market
  Fee: $2.74, Ξ0.00419342
  Balance: $738.00, Ξ1.13018515145876257
  Sending ...
  Hash: 0x60c0...a2bd
  Block: 22650101
  Address: 0x0522...991F

Done in 20s.

Installation

To install mars use Yarn:

yarn add --dev ethereum-mars

or if you prefer you can use npm:

npm install --save-dev ethereum-mars