The theme of the 4th Bitcoin SV Hackathon is ‘peer-to-peer applications’ – not just payments, but any type of application that involves direct interaction between participants on the Bitcoin network.
Hackathon entrants are tasked with leveraging the recently released SPV Channels service as part of their application to facilitate communication across the network, as well as interacting with the Bitcoin network directly via the Merchant API (mAPI).
For desktop applications, the SPV Channels service offers a simple REST interface, while for mobile applications, mobile client libraries for both Apple and Android devices are available.
Note: Theme specific judging criteria may be added following the announcement of the theme for this hackathon event.
- Teams will be judged on the following, equally weighted criteria:
- Technology: How technically impressive is the product? Does it use a particularly inventive technique, or does it use several different components? Does the product have a “wow” factor? How well does the project solve the prescribed problem?
- Design: Did the team put thought into the user experience? How well designed is the interface? Is it convincing, intuitive, and consistent? Was the overall context of a solution considered? How relevant is the solution itself? Does it provide significant improvement of a situation? Does it create a new added value for relevant user groups? For a hardware project, it might be more about how good the human-computer interaction is – e.g., is it user friendly or does it have an engaging interface?
- Completion: Does the product work? Did the team achieve what they wanted?
- Market fit: Does the product solve a real problem and have a plausible market? Is there a workable business model that the project fits into? The project need not implement an entire business model – it may be just one component – but demonstrating that this has been thought about is a key criterion.
- These criteria will guide judges, but ultimately, the final decisions will be made with a degree of subjectivity. The judges’ decisions will be final.
The 4th Bitcoin SV Hackathon will be taking place entirely online from 14th June to 24th August 2020. Registration is open from 16th May onwards and will remain open until the conclusion of the coding round of the competition on July 26th at 12:00 pm (GMT), when entries for all submissions close.
Things to remember
Whenever your code is in a working state, commit it. You never know when you may encounter a bug that you get stuck on. You can always roll back and submit an earlier working version. Sometimes, too, it can be easier to go back to a known working version and rewrite the code in a different way so as to avoid the bug.
Remember too, that your entry can address a smaller part of a bigger problem. The code component is meant to be a proof of concept. Make your entry as functional as possible, but if you need to, mock-up parts of other process flows – It is acceptable to demonstrate how your solution and its core components work.
Managing time
We expect participants may have full-time jobs and will spend varying amounts of time on their entries. The 6-week competition period was chosen so that you can fit in time for the Hackathon around work and home obligations. The 6-week competition period does not reflect our expectations about the readiness or degree of completeness of your final submission.
Important: Please ensure you and all your team members have an active Discord for communication with moderators at all times.
Lang Library for creating Bitcoin Transactions
https://github.com/libsv/go-bt
Build Complex Bitcoin Transactions using JS
https://github.com/libitx/txforge
Libraries to facilitate development and testing of ElectrumSV and applications based on it
https://github.com/electrumsv/electrumsv-sdk
Electrum v0.0.23
Details can be found in the draft article: https://electrumsv.io/drafts/electrumsv-node-0_0_23.html
From there you can access the download: https://electrumsv.io/node-project/
And documentation with instructions on use: https://electrumsv-node.readthedocs.io/en/latest/
SPV v1.1.0
SPV Channels CE version 1.1.0: https://github.com/bitcoin-sv-specs/brfc-spvchannels
SPV Channels CE Android SDK version 1.1.0: https://github.com/bitcoin-sv/spvchannels-android-reference
SPV Channels CE iOS SDK version 1.1.0: https://github.com/bitcoin-sv/spvchannels-ios-reference
BSV Node v1.0.8
https://download.bitcoinsv.io/bitcoinsv/
mAPI v1.3.0
https://github.com/bitcoin-sv/merchantapi-reference
We also advise that you read (or re-read) the original Bitcoin white paper.
Please note: If you are part of a team, you may also communicate with your team members directly through any medium of your choice.
However, a participant cannot be part of more than one entry. This means:
-
-
- a participant cannot be a member of more than one team.
- a participant cannot be an individual entry and also be part of a team.
- a team cannot submit more than one hack submission.
-
If you do not have a team but would like to join one, visit the Participants page on Devpost to see other registered users who are also seeking teammates.
Upon completion of your Hackathon work, a link to the following deliverables should be submitted on Devpost:
Minimum requirements:
-
-
- Code submission using a GitHub repository named after your team.
- Supporting documentation (this may include photographs of whiteboards, diagrams, written notes, a short business case, or any other material you think relevant)
- A 5 minute (or less) video summarizing your entry – e.g. a screencast demonstration of your product and a short introduction to your team, vision, goals, and business proposition.
-
Optional requirements:
-
-
- A working application and/or website.
-
Here is a video that shows how the submission process works.
Remember, our judging teams have limited time to review numerous submissions. Additionally, keep in mind it can be a challenge for our judges to get your application working, especially if your own development has dependencies installed that you are not aware of. If these are undocumented in your submission materials, it may be difficult to get your application to build without background knowledge of you work or the tech stack you are using.
For this reason, if you will not be running/hosting your entered application/service(s) and require us to run your submission locally, we advise you to dockerize your application in order to make this process easier for the judges. If you only have one image, then a Dockerfile in the repo or hosted publicly on Docker Hub is acceptable (with documentation on running the container). If you have multiple images, then a docker-compose in the repo is also acceptable.
Docker will be helpful in specific cases where we need to run your code, so if your project entails the creation of a library, for example, then Docker is not necessary.
You can learn more about Docker here: https://docs.docker.com/get-started/overview/
Yes. However, if it is deployed and required infrastructure you have written yourself during the Hackathon you will need to submit the commit hash and link to relevant code it is running. You are not allowed as part of your submission to continue working on and improving the deployed version of your external infrastructure which will be relied upon for judging.
A representative from each of the three finalists will be invited to present their entry at the next CoinGeek Conference expected to take place in October 2021 (dates and location still to be finalized and shall be referenced herein as the “CoinGeek Conference – Q3 2021”).
The representative will either be flown to the site of the CoinGeek Conference – Q3 2021 or present their submission virtually – depending on what world travel circumstances allow at such time in light of the COVID-19 pandemic. Finalists may continue to develop their entries and presentations prior to the final presentation.
-
-
- Big blocks – high transaction volumes with low fees
- SPV callbacks
- Instant payment verification
-
Throughout the virtual competition period, moderators will communicate with you via Discord, the Devpost platform and email for all of the following:
-
-
- Timing announcements
- Videos from the organiser
- Tips and tricks
-
Additional rules and eligibility exclusions
-
-
- For teams, the team leader must be over the age of 18, although other team members may be younger than this. The team leader is the person who will be nominated to present the submission if selected as a finalist and receive any awarded prize. (Teams may elect to share an awarded prize among team members however they see fit).
- Current employees and staff (including contractors) of nChain, Bitcoin Association, and CoinGeek may not enter the hackathon competition.
- Previous top 3 finalists from Bitcoin Association Bitcoin SV Hackathons are excluded from entering another Bitcoin Association Bitcoin SV Hackathon for a period of one year following the final round of the competition in which they were a top 3 finalist.
- Multiple entries from one individual or team are not permitted and are grounds for instant disqualification.
-
Code re-use:
-
-
- The general idea of a hackathon is to produce a project from scratch during the competition period.
- You may use any code libraries as part of your project, but they should be clearly separated (in a different directory) to your original code.
- You may reuse code you have previously written for an unrelated project; however, this should be clearly declared in your explanatory notes. This should also be segregated in a separate directory to the entry code. Judges will factor this in and, if the project the code came from is deemed too similar to the submitted entry, a significantly higher standard will be expected. We would, therefore, encourage you to work on a new idea rather than building directly on an existing product.
- Work product and material submitted for previous Bitcoin Association Hackathon entries cannot be resubmitted.
-
Bitcoin Association reserves the right to disqualify any entrant who does not adhere to the Bitcoin SV Hackathon rules applicable, and to anyone who gains an unfair advantage through fraud or unsportsmanlike conduct while participating in the hackathon.
All attendees, sponsors, partners, volunteers and staff involved with the Bitcoin SV Hackathon are required to agree to the following code of conduct. Organisers will enforce this code throughout the event. We expect cooperation from all participants to ensure a welcoming and fair environment for everybody.
If you have witnessed or experienced any breach of this Code of Conduct during the Bitcoin SV Hackathon, please get in contact with us as soon as possible via Discord or email: [email protected].
The Bitcoin SV Hackathon provides a safe and comfortable environment and harassment-free experience for everyone, irrespective of:
-
-
- gender
- gender identity and expression
- age
- sexual orientation
- disability
- physical appearance
- body size
- race
- ethnicity
- nationality
- religion
- political views
- previous hackathon attendance or lack thereof
- computing experience or lack thereof
- chosen programming language or tech stack
-
We do not tolerate harassment* of Bitcoin SV Hackathon participants in any form. Sexual language and imagery are not appropriate at any stage of the Bitcoin SV Hackathon, this includes, but is not limited to, the following:
-
-
- hacks
- talks, presentations, or demos
- workshops
- any parties or events associated with the hackathon
- social media
- any other online media
- Participants found to be in breach of these rules may be sanctioned or expelled from the Bitcoin SV Hackathon at the discretion of the organizers.
-
*Harassment includes, but is not limited to, offensive verbal comments related to gender, gender identity and expression, age, sexual orientation, disability, physical appearance, body size, race, ethnicity, nationality, religion or political views, sexual images in public spaces, deliberate intimidation, stalking, following, photography or audio/video recording against reasonable consent, sustained disruption of talks or other events, inappropriate physical contact, and unwelcome sexual attention.
1ST PLACE
$50,000 USD (paid in Bitcoin SV)
2ND PLACE
$30,000 USD (paid in Bitcoin SV)
3RD PLACE
$20,000 USD (paid in Bitcoin SV)