GithubHelp home page GithubHelp logo

elleflorio / scalachain Goto Github PK

View Code? Open in Web Editor NEW
66.0 8.0 24.0 223 KB

Blockchain implemented using the Scala programming language

License: MIT License

Scala 95.66% Dockerfile 2.83% Shell 1.51%
scala blockchain akka scala-programming-language actor-model actorsystem akka-actors akka-persistence akka-http akka-testkit

scalachain's People

Contributors

elleflorio avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

scalachain's Issues

Improve blockchain implementation

The current implementation of the blockchain is useful for didactic purposes, but it is not well suited for more realistic applications. It is required to improve the implementation in order to improve performance and/or the capabilities of the blockchain to handle a more complex scenario.

Persistence not working in docker container

The persistence (journal and snapshot) is not working in docker container, at least when the container is running the local source code mounted in the volume. This is probably due to permissions issues on folders. Gosu should be considered to solve the issue.

can't run the app with docker-compose - no main class detected

Hey,

First of all - thank for an awesome article!

I noticed that I can't run the project with docker-compose up (after a successful build). This is what I get:

~/projects/scalachain(master*) » docker-compose up
Starting scalachain_node2_1 ... done
Starting scalachain_node1_1 ... done
Starting scalachain_seed_1  ... done
Attaching to scalachain_seed_1, scalachain_node1_1, scalachain_node2_1
seed_1   | Running local source code
seed_1   | copying local sources from /tmp/scalachain to /development
node1_1  | Running local source code
node2_1  | Running local source code
node2_1  | copying local sources from /tmp/scalachain to /development
node1_1  | copying local sources from /tmp/scalachain to /development
node2_1  | [warn] No sbt.version set in project/build.properties, base directory: /development
node1_1  | [warn] No sbt.version set in project/build.properties, base directory: /development
seed_1   | [warn] No sbt.version set in project/build.properties, base directory: /development
node2_1  | [info] Set current project to development (in build file:/development/)
node1_1  | [info] Set current project to development (in build file:/development/)
seed_1   | [info] Set current project to development (in build file:/development/)
node2_1  | [error] java.lang.RuntimeException: No main class detected.
node2_1  | [error]      at scala.sys.package$.error(package.scala:26)
node2_1  | [error] (Compile / bgRun) No main class detected.
node2_1  | [error] Total time: 8 s, completed Apr 14, 2019 6:48:34 PM
node1_1  | [error] java.lang.RuntimeException: No main class detected.
node1_1  | [error]      at scala.sys.package$.error(package.scala:26)
node1_1  | [error] (Compile / bgRun) No main class detected.
node1_1  | [error] Total time: 8 s, completed Apr 14, 2019 6:48:34 PM
scalachain_node2_1 exited with code 1
scalachain_node1_1 exited with code 1
seed_1   | [error] java.lang.RuntimeException: No main class detected.
seed_1   | [error]      at scala.sys.package$.error(package.scala:26)
seed_1   | [error] (Compile / bgRun) No main class detected.
seed_1   | [error] Total time: 8 s, completed Apr 14, 2019 6:48:36 PM
scalachain_seed_1 exited with code 1

Integrate sbt Native Packager docker image creation

The docker image defined in the /docker folder is good for development purposes.
It would be good to integrate the sbt plugin for sbt Native Packager, in order to create a docker container running the Scalachain node binary.
The image should have the correct name - elleflorio/scalachain - and the correct tags.

This issue can be implemented inside the docker-integration branch.

Install scala and sbt during docker image creation

The docker container get sbt and scala when it is created. It requires a lot of time during container creation, it would be better to find a way to prepare the environment correctly when the docker image is created.

Implement Akka Cluster for Scalachain Cluster creation

The introduction of Akka Cluster will enable and facilitate the discovery and communication between Scalachain nodes.

It is required to integrate Akka Cluster inside scalachain at a basic level:

  • every node should register itself in the cluster
  • the nodes should be able to start also in docker containers in the same machine

The implementation of cluster logics (cluster event handling, communication, etc.) will follow in later issues

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.