Coder Social home page Coder Social logo

horizon-games / eth-state-channels-research Goto Github PK

View Code? Open in Web Editor NEW
36.0 36.0 7.0 7.72 MB

Ethereum state channel research for writing provably-fair games/systems in Solidity

License: MIT License

Makefile 2.21% JavaScript 3.73% TypeScript 14.97% Go 63.19% Shell 0.74% Dockerfile 0.33% Solidity 14.83%

eth-state-channels-research's People

Contributors

attente avatar ianha avatar pkieltyka avatar xiam 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

Watchers

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

eth-state-channels-research's Issues

Ensure end-to-end that challenging network exits works properly

Looking at the server and client library code, I don't think this is working currently. The issue is that the timestamp the server sends back to the clients is time.Now().Unix(). The contract uses now >= timestamp to check if the timestamp has expired or not.

In other words, the contract thinks the timestamp is when the match expires, and the server thinks the timestamp is when the match began.

The server needs to add DGame.MatchDuration() to time.Now().Unix() to align with what the contract expects. This is better than adding it to the check on the contract side because doing it properly like that would require checking that the player is playing the correct game as well.

To add to that, the server should be monitoring exits as well, and cancel any ones for which it possesses a valid signed timestamp of.

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.