Ardor Online Hackathon 2018

22 October - 06 December 2018

Lightweight Contracts Competition with US$21,000 in Prizes to Spur Business Integration with the Ardor Platform

Subscribe

The Ardor Online Hackathon 2018 is your chance to compete for prizes while solving real world business problems using the Ardor platform's most recent innovation, Lightweight Contracts. As the first full blockchain-as-a-service platform, Ardor has positioned itself to provide an unprecedented level of security while seamlessly integrating legacy business systems with the blockchain. Read more about each challenge and the submission requirements - then start building using the resources available at the Ardor Learning Hub!


An AMA question and answer session regarding the Lightweight Contracts and the Hackathon will be conducted on Wednesday, Nov 14 at 17:00 UTC on the Ardor & Nxt Slack. If not a member yet, join our slack now.


Lightweight Contract Challenges

Challenge 1: Currency Exchange

Think you have what it takes to automate the process of currency exchanges? This is your chance to prove your skills by creating a Lightweight Contract to exchange between Bitcoin and Ignis. More details...

Challenge 2: Cloud Storage

Decentralized data storage has gotten lots of hype, but most blockchain platforms are still figuring out how to offer this type of feature. In this challenge, you will use the existing Data Cloud on the Ardor platform's child chains to take cloud storage and streaming to the next level. More details...

Challenge 3: Identity Verification

Fake social media accounts are a major issue, with platforms like Twitter implementing their own verification process. On the Ardor platform, we think this process can be done better. Join this challenge to develop a Lightweight Contract based on reputation management and identity verification. More details...

Calendar

Launch: October 22nd, 2018

AMA: Nov 14, 2018, 17:00 UTC, Ardor & Nxt Slack. Subscribe to our list above to stay tuned for more details and regularly check this website and our twitter.

Opening Date for Submissions: November 22nd. Step-by-step submission instructions will be provided on this website closer to that date.

Deadline Date for Submissions: December 6th, 2018, 11:59 UTC

Winners Announcement: January 1st, 2019

Questions

Developer specific questions should be tagged with the "Ardor" keyword and posted publicly on the Bitcoin Stackexchange.

Project specific questions should be emailed to hackathon@jelurida.com. Allow a minimum of 3 business days for responses.

If you want to interact with other community members you can find us in the Ardor Nxt Slack.

Terms & Conditions

Official Ardor Online Hackathon Terms and Conditions


Lightweight Contract Coding Challenge #1: Currency Exchange

Exchange Bitcoin to Ignis

Your objective

Develop a lightweight contract which accepts as input a proof of incoming Bitcoin transaction to the contract owner address (as specified by the contract configuration), and an address of an Ardor account.

The contract will use a Bitcoin SPV wallet to confirm that the Bitcoin transaction is included in the Bitcoin blockchain and has enough confirmations.

Once confirmed, the contract will use a publicly available information source to calculate the exchange rate between Bitcoin and IGNIS. Using the calculated exchange rate, the contract will submit a transaction to fund the senders Ardor account with the calculated amount of IGNIS tokens.

Design goals

Reliability, the contract should be able to recover from a node restart and still perform the exchange. It should also support monitoring for multiple exchanges at the same time.

Simplicity, the contract should implement the requested task using a very simple setup.

Extensibility, the contract should be designed so that adding different blockchain protocols or a different Ardor child chain is simple.

Subscribe


Lightweight Contract Coding Challenge #2: Cloud Storage

Integrate Ardor with a cloud storage platform

Your objective

Develop a lightweight contract which provides interface to a data storage cloud service of your choice.

The contract should support the following operations:

Upload - a file is uploaded to the contract which streams the content of the file to the cloud service, receives confirmation about a successful upload then submits an Ignis cloud data transaction which proves the existence of the file on the cloud service either by hashing the uploaded file or by getting a proof of upload from the cloud service itself. The data recorded on the blockchain should be sufficient to later download the file and validate that it wasn't changed since upload.

Download - given a trigger message containing the hash of a cloud data transaction, the contract should locate the file pointed to by the cloud data transaction on the cloud service, download it, validate it against any proof stored on the blockchain, then make it available to the user.

Support for very large files, larger than the available workstation RAM is an advantage.

Design goals

Reliability, the contract should be able to recover from a node restart and still perform the download action. If an upload action is aborted in the middle the contract should not record any information on the blockchain.

Simplicity, the contract should implement the requested task using a very simple setup.

Extensibility, the contract should be designed so that the blockchain operations are decoupled from the cloud storage interface to enable plugging additional cloud services in the future using the same interface.

Subscribe


Lightweight Contract Coding Challenge #3: Identity Verification

Blockchain Based Reputation System

Your objective

Develop a lightweight contract which given a signed token, validates the ownership of a well known account on a centralized service.

The contract should act as an interface between the blockchain and a well known social network, e-commerce site or any other online resource which can establish the credentials of a blockchain account owner.

Users who would like to prove their reputation, will ask the contract for challenge text signed by the contract, and create a token which signs this text using their account passphrase.

The user will then post the signed token text in some public location accessible only to their account. For example to prove ownership of a social network account, post the token text as a message on the social network or as part of your public account description or status. To prove ownership of an e-commerce account, post the token as part of your public shop description.

Next the user will pay the contract Ignis, attaching as a message a public URL which can be used by the contract to verify the existence of the signed token published earlier. The contract will extract the token from the public URL and validate that it is indeed signing the challenge message provided by the contract. If the validation succeeds the contract will set an account property on the sender account confirming its reputation by including the original challenge text as the value.

Design goals

Simplicity, the contract should implement the requested task using a very simple setup.

Extensibility, the contract should be designed so that the blockchain operations are decoupled from the external reputation system to enable plugging in additional reputation systems in the future using the same interface.

Subscribe