GithubHelp home page GithubHelp logo

blockchain-k-plugin's People

Contributors

anvacaru avatar baltoli avatar bmmoore avatar chathhorn avatar dwightguth avatar ehildenb avatar goodlyrottenapple avatar gtrepta avatar nishantjr avatar rv-jenkins avatar scott-guest avatar sskeirik avatar theo25 avatar zzma avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

blockchain-k-plugin's Issues

libcrypto++ package on Ubuntu/Debian is missing symbols

See all bug reports here: https://bugs.launchpad.net/ubuntu/+source/libcrypto++/

In particular, the bug that affects us is: https://bugs.launchpad.net/ubuntu/+source/libcrypto++/+bug/1876166

This seems like a similar bug: https://bugs.launchpad.net/ubuntu/+source/libcrypto++/+bug/660171

This affects us because we want to use some of the missing symbols as crypto hooks. This forces us to have a more complex build/package process for any semantics that uses those hooks.

Upgrade path for this plugin

There are several changes that need to be made to facilitate (i) modularity of the KEVM build, and (ii) hooks needed by the Michelson Semantics.

Here is the proposed upgrade path:

  1. add some new hash functions that Michelson needs
  • add a libcrypto++ submodule so that we can still do test builds in this repo --- because the libcrypto++ package in Ubuntu/Debian doesn't include the needed symbols
  • add the hash functions blake2 and sha2-512
  1. upstream the KEVM hooks/build recipes
  • add all KEVM hooks to the plugin
  • hide the Michelson hooks that depend on a more recent version of libcrypto++ behind a tangle tag
  • make KEVM source the plugin hook file and delete its internal copy of the hook file
  • upstream the KEVM build recipes for its crypto submodules and directly call the plugin Makefile build recipes
  1. split out the hooks in build plugin file into separate modules based on which library they use
  • update the plugin hook files and build test (also update plugin hook names, refer to runtimeverification/k#1216)
  • update KEVM so that it sources the new files correctly

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.