Giter Club home page Giter Club logo

solidityflattery's Introduction

SolidityFlattery

Dedicated to all those who believe that the world is a disc supported on the back of four large elephants that are standing on the back of a huge tortoise.

Function

SolidityFlattery takes a solidity file and retrieves all its dependancies and stuffs them in a single file in the correct order for it to be verified on etherscan.

WHY?

Because part of the ethos of the smart contract blockchain relies upon being able to see and verify the contracts yourself. Etherscan require single files for verification. SolidityFlattery helps you create those files.

Also - because my MacBook hates Python and refuses to figure out how to run the version that BLOCKCAT put together.

And because it can be compiled into executables for any platform.

Installation

This is not intended as a library (no go getting required).

Just clone it and build it. Use of go modules should ensure that the dependencies are met.

You can build it yourself or download an executable (coming soon)

built using go v 1.14

> go build

or

> go install

which builds and installs to $GOBIN

Both of these create an executable based on your working directory name, probably SolidityFlattery :-)

Usage

Assuming that you have the executable on your path :

Assuming your contract is in mainfile.sol and you want to create consolidated.sol

SolidityFlattery -input mainfile.sol -output consolidated

This creates a flattened version of mainfile.sol with all includes in the file consolidated.sol and creates a log called consolidated.log

NOTE the output file must not exist. This is to prevent you from overwriting that file that you forgot to check into git after a tough night's coding.


Bugs / enhancements : please raise an issue or fork and issue a PR.

Dave Appleton.

solidityflattery's People

Contributors

daveappleton 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.