GithubHelp home page GithubHelp logo

joincolony / abis Goto Github PK

View Code? Open in Web Editor NEW
1.0 4.0 0.0 766 KB

๐Ÿฅ• Farm fresh Colony ABIs.

License: GNU General Public License v3.0

TypeScript 75.21% Shell 1.18% Nix 9.85% JavaScript 13.76%

abis's Introduction

abis

Farm fresh Colony ABIs.

Generating the contract ABIs

First we need to create the relevant contract ABIs and store them in this repo (these are just .json files containing information about the contract interfaces. We will be generating them in the colonyNetwork repo which is a submodule of this repository.

Make sure you have the correct node version

nvm use

Go into the vendor/colonyNetwork subdirectory and check out the correct tag for the latest ColonyNetwork version (here glwss):

cd vendor/colonyNetwork
git checkout glwss

Update all git submodules and install all dependencies (see also this guide):

git submodule update --recursive
npm ci

You will need Docker installed and running to compile the contracts. It is however possible to disable Docker for the builds, see here for more information.

Next do:

rm -rf build/contracts/*.json # to remove any prior builds
npx truffle compile

Now we should have all the necessary contract ABIs ready. Next we extract those using the build command. Specify the network tag to create the corresponding sub-directory:

cd ../.. # go back to the colonyJS root folder
npm run build -- -t=glwss

That process should be fairly quick. A directory called abis/glwss should have been created, containing all the required ABIs for the next version (and more).

Creating a snapshot release (automates the above workflow)

A snapshot can be created using GitHub actions:

  1. Create a new branch and adjust versions.json to the versions according to the colonyNetwork tag/branch you want to build
  2. Go to Actions within GitHub and select the "Release a snapshot" action.
  3. Click "Run workflow" on the right and select the branch you just created as well as the colonyNetwork tag or branch you want to build
  4. Click "Run workflow" and if everything works well, a snapshot release will be published to npm

abis's People

Contributors

chmanie avatar dependabot[bot] avatar github-actions[bot] avatar jakubcolony avatar

Stargazers

 avatar

Watchers

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