Giter Site home page Giter Site logo

koinos-bytecode-checker's Introduction

Koinos Bytecode Checker

What is this?

This is a simple command line tool that allows you to check the bytecode (hash and size) of smart contracts uploaded to the Koinos blockchain. It uses the account history API (which is optionally available) in Koinos nodes.

Why would you want to do that?

This allows you to verify that a contract uploaded to the Koinos blockchain actually is the code that you think it is. Keep in mind, contracts on Koinos can either be immutable or not immutable - this means that there may be multiple uploads of the same contract (this tool will find all of them if there are more).

How do I use it?

As long as you have node installed on your local machine, simply run:

npm install
node index.js <contract id>

And that's it.

If you need to specify a different node, set the environment variable NODE_API.

TO-DO List for this currently very simple project

  • Write instructions (and potentially a docker container and scripts) to compile and list the hash and size of supplied contract code.
  • Add a Dockerfile for this tool so you can easily run it that way.
  • Automate both of the above pieces into one flow (compile provided source and get hash/size, check the chain for matches on a contract ID as well as non-matches on a contract ID)

Pull requests to this repo are welcome as I'm usually very busy.

This software is inspired by and uses code from Fogata by Julián González (thanks!)

koinos-bytecode-checker's People

Contributors

jredbeard avatar

Watchers

 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.