Skip to content

Latest commit

 

History

History
105 lines (81 loc) · 8.52 KB

6.17 NEO Blockchain Challenge - London.md

File metadata and controls

105 lines (81 loc) · 8.52 KB

NEO Blockchain Challenge — London

We designed this competition as a way for the community to get together and try to tackle the development side of NEO's complex ecosystem. We created several challenges, with difficulty ranging from novice up to advanced. We wish for as many of you to try your hand at this event, we're welcoming people from all areas in the NEO community. If you're a seasoned developer, UI/UX designer, or even an avid NEO investor, please join us in this friendly competition for a chance to win some GAS. The total prize adds up to more than 1000 GAS!

Challenge Guidelines

Design and develop a web system that can monitor the NEO network, with the emphasis on displaying the status of each node. It is important to consider a great UI design while planning, as it will be considered as a huge bonus to the finished product. You can run your system on localhost during exhibition. This Challenge is unique in the sense that we encourage preparation and team-building prior to the challenge date while allowing for the challenges to be known beforehand.

Challenge Theme

NEO Network State Monitoring

Challenge Spirit

Learn, Think, and Create

Challenge Location

Hangar58, at Runway East Shoreditch
58 City Road, London EC1Y 2AL

Challenge Awards

  • First Prize - 400 GAS (1 team)
  • Second Prize - 250 GAS (1 team)
  • Third Prize - 100 GAS (3 team)
  • Mystery Prize (It depends on the submitted work)

Challenge Deadline

7:00 PM, June 17th (Local Time)

Rough Timeline
  • Initial Announcement of the Challenge ~ June 17th 10:00 AM: This is the perfect time to join the discord and try to build a team to map out the next few weeks. We hope this time can be used to sketch out the delegation of work and start coming up with ideas and solutions for the Challenge. Do your best to accomplish everything in this period and it should be the main bulk of the hackathon.
  • June 17th: 10:00 AM ~ 10:30 AM: We'll give more hints and explanations of the Challenge in detail. 10:30AM will be the deadline to setup teams. Once it has passed, new team and change of the team will not be allowed.
  • 10:30 AM ~ 7:00 PM: This section is the final sprint of the marathon. We hope to see as many people as possible getting together to work in person with their respective groups. The judges will be there to make sure that everyone in the group is present and participating.
  • 7:00 PM ~ End: Each team has 10 minutes presentation to show off to the judges and fellow teams about their work. We'll provide you with a projector. Winners will be chosen by the judges and announced when consensus is achieved.

Challenge Requirements

Competition Rules
  1. All code projects should use the MIT license.
  2. Teams can use any platform or programing language to develop the system.
  3. There is no maximum or minimum team size.
  4. Organizers, judges, or sponsors are not allowed to participate or join a team.
  5. All members of the team should be present during the day of the event, June 17th, as we believe it's integral to community development and working cooperatively. Leaving the venue for a duration to hack elsewhere is also allowed.
  6. Teams can of course gain advice and support from organizers, volunteers, sponsors, and others. Judges can help teams with basic questions, but we strongly recommend team should think and solve problems independently.
  7. Teams can use an idea they had before the event or adding new features to existing projects. However, we highly encourage innovation.
  8. The competing teams are required to complete all the development work within the specified time.
  9. We are holding this challenge at a very high regard, thus if there are no teams which have shown exemplary work, then the grand prize may be ommitted and left vacant.
  10. Teams can be disqualified from the competition at the organizers' discretion. Reasons might include, but are not limited to, breaking the Competition Rules or other unsportsmanlike behaviour.
  11. This is a competition for the community, so please follow the rules and respect competing teams.
Forming Teams

It’s highly recommended that challengers can organize a team to participate in this competition. Allowing for delegated work while generating diversified ideas for the final product. If you want to start of join a team, but don't know if you have the ability to finish all aspects alone you can join the NEO discord to coordinate and communicate with others interested.

Judging Factors

The score will be judged by:

  • Functionality: Did your project fulfill all of the criteria show on the table above? How could you try to take what is required and add onto it to make it stand out?
  • Ease to Use: Is the User-experience welcoming and not awfully complicated to new and concurrent users of the platform? Try to let other test for you to see if the system you built is intuitive.
  • Stability: Have you tested the reliability and amount of downtime for the site? We are looking for a system that can be consistent and relay information to user without many bugs.
  • Website Performance: How much resource does the website take to run, short and long term? We encourage developers to optimize the platform in hopes to see a platform that won't hinder the user's inputs and experience as a whole.
  • Interface Design: Does the design of the platform not only reflect the themes of NEO's ecosystem but also have a look that can differentiate it from the others? Fluid and modern designs could make the website feel more approachable.

NGD reserves all the rights for final explanation in this event.

Hints

Listed below is a table of functionality that should be implemented. Each team may add additional monitoring information and abilities.

Information Estimated Difficulty Hint
P2P service status of NEO nodes ★★★★ Whether nodes provide JSON-RPC services on port 10331 and 10332
RPC service status of NEO nodes ★★★ Whether nodes provide P2P services via TCP/IP (10333), and P2P services via WebSocket (10334).
Stability of NEO nodes ★★★ If a node is offline for 10 minutes per day, the stability is
1 - 10/(60*24) = 99.3%
Version information of NEO nodes ★★ http://docs.neo.org/en-us/node/cli/api/getversion.html
Current block height of NEO nodes ★★ http://docs.neo.org/en-us/node/cli/api/getblockcount.html
Current connection count of NEO nodes ★★ http://docs.neo.org/en-us/node/cli/api/getpeers.html
The number of transactions in the memory pool of NEO nodes ★★ http://docs.neo.org/en-us/node/cli/api/getrawmempool.html
Latency of NEO nodes ★★ Request delay for a user to a node.
Opening wallet on NEO nodes ★★ Opening a wallet on a node is extremely dangerous and should be monitored

Resources

  • For nodes and monitoring example, you can reference:
    http://monitor.cityofzion.io/ (Thanks for CoZ's effort to NEO ecosystem, it's a pretty functional monitor. After this challenge, we hope this monitor won't feel alone^_^)
  • For the port information of nodes, you can reference:
    http://docs.neo.org/en-us/node/introduction.html#port-description
  • For the API of nodes, you can reference:
    http://docs.neo.org/en-us/node/cli/api.html
  • You can also have a look at the monitoring page for ETH:
    https://ethstats.net/

More Information

Challenge Judges

  1. Peter Lin

    • Director of R&D NEO Global Development (NGD).
    • One of the early NEO developers.
  2. Anthony De Meulemeester

    • Distributed systems engineer / Creator of NEO-GO (VM, complier, Node)
    • Master degree in computer science engineering. Have an impact on the world through technology.
  3. Charlie Revett

    • Founder of NeoAuth.
    • Blockchain developer based in London. Creator of NeoAuth and maintainer of the Go NEO SDK. Professional experience at IBM and BBC News.