Giter Club home page Giter Club logo

happynodes's Introduction

1st Prize Winner of London 2018 NEO Hackathon

>> https://happynodes.f27.ventures <<

chat on Discord

Overview

Happynodes is a blockchain network monitor and visualisation tool designed for the NEO Smart Economy Blockchain. It is live on https://happynodes.f27.ventures. It is developed and run by F27 with support from NGD. There is also an API under development that powers the front-end but will have useful metrics for the NEO community that are currently not available anywhere else (primarily historic information).

Current Release: 1.4.1. You can see our Milestones for more information on what is in each major release, as well as our Releases log.

We also maintain notes on currently Unhappy Nodes. Please use these with care.

Table of Contents (click to expand)

Latest UI

Last Recording: 30th June 2018

Component Structure

Current HappyNodes structure

The HappyNodes repo is a split into a number of components we have developed to monitor the state of the network over time:

  • neo-back API layer, written in Node.js and Express. Live on https://api.happynodes.f27.ventures
  • neo-collector - backend processing (making JSON-RPC and Ping tests on nodes and updating database), written in Python 3.6+.
  • neo-interface - front-end responsive web app, written in Node.js, Express and React. Live on https://happynodes.f27.ventures
  • neo-node - lightweight NEO node to test out P2P connections on nodes, written using Python 3.6+ and neo-python.
  • neo-redis - pushes latest aggregated data into Redis client essentially as a caching layer to accelerate the API response time performance.

Production Setup

Using Google Cloud Platform

Since HappyNodes currently has no revenue stream, it was important to keep the Server costs as lean as possible. However, we wanted to build a resilient and scalable solution so as the developer community grows, the site and API will continue to work without issues.

We expect future versions to contain major revisions to the production setup.

Local Deployment Instructions

TODO

Roadmap

July-Dec 2018 Plan

After the Hackathon finished (June 17th 2018), our team decided to continue on developing as we saw the potential value it could bring to the NEO community. We started working on ambitious set of features and grouped it into releases. You can find more on our official roadmap.

History

How Happynodes came to be

NGD (NEO Global Development) decided to sponsor and run the first NEO London Hackathon on 17th June 2018 with the aim of finding a companion network monitor to City of Zion's neo-mon project, City of Zion | Monitor.

Based on the rules of the Hackathon and from our experiences of City of Zion's monitor, we tried to focus on:

  • A user-friendly experience that would welcoming to new and existing developers
  • Adding historical information (CoZ's monitor is database-less, so can't monitor evolution over time)
  • Providing some innovation not seen in the existing monitor or any other NEO tool

NGD's London Hackathon 2018

Youtube Video: NEO London Meetup & Hackathon

F27 took part of NEO Global Development's first London Hackathon on 17th June 2018. The hackathon was organised by NGD with the goal to help participants LEARN, THINK and CREATE on NEO's Smart Economy platform.

This specific challenge centred around Network State Monitoring.

For us, this was a series of firsts: our first NEO meetup, our first hackathon as Team F27, and the first time we published a live App to an audience from F27.

Since this was a time sensitive hackathon, please excuse our early commits around code quality. We focused on making resilient, fully working functionality which we achieved.

To find out more on the hackathon visit NEO Blockchain Challenge โ€” London 2018

Our Innovations:

  • New Health Scoring system taking into account 4 metrics to provide differentiation between Online Nodes
  • Unconfirmed Transactions explorer - see how many nodes are supporting the as-yet unconfirmed transactions
  • Graph explorer to show the connections for the network as well as the direct edges for each Node

Licence

This project is licensed under the terms of the MIT license.

Recommended Reading

Related Projects

Notes on F27 Ventures

F27 was started by a group of 27-year olds who wanted to change the world one code commit at a time. We've worked at startups, large corporates and gone freelance. You don't have to be 27 to be part of our journey, you just need to dig what we do.

F27

happynodes's People

Contributors

i25959341 avatar wy avatar f27d 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.