Wanxiang Blockchain Hackathon Sponsor Challenges-Web3 Foundation
On Aug.3, 2021 Wanxiang Blockchain Hackathon hosted by Wanxiang Blockchain Labs opens for registration. Under the theme of “Digital World 2077”, this hackathon not only offers an opportunity to developers around the world to showcase their talents but also marks the opening of 2021 Shanghai International Blockchain Week that will take place from Sep.10 to Sep.15.
Web3 Foundation, Protocol Labs and Qtum have confirmed to be the sponsors of this hackathon and will provide exciting challenges and generous prizes to engage developers from their communities.
Challenges and prizes from Web3 Foundation are as below:
CATEGORY 1: BUILD A BLOCKCHAIN
In this category, you are challenged to build a custom blockchain using Substrate. In the near future, your chain will have the ability to plug into the Kusama Relay Chain for interoperability and plug-and-play security. The ideas below are meant to inspire you. We hope you are creative and build the custom chain you believe will be most useful to the other builders in the Kusama ecosystem!
Games can be defined as state changes between two or more parties with additional pre-defined rules. Our vision of an ideal gaming chain isn’t one which can support slow two-player turn-based games (that problem has been solved), but a chain which is abstract enough to go from chess and battleship to almost real-time rogue-like games with many players in the same world. A product of this category will ideally be an abstract chain on which developers/entrepreneurs can launch a game seamlessly into the multiverse, build a sports booking & esports tournament platform, fundraise for games, and enable game developers to receive fair distribution. Functionality could include all or some of the following features:
Multi-Token Standard (ERC1155) implementation.
Swap or exchange protocol for ERC1155 tokens (e.g., Uniswap modified for ERC 1155)
Onchain/Off-chain(e.g. IPFS) metadata deployment and hosting tools
Stablecoin Integration (Acala, Bandot)
Transaction & Integration API for JS/Unity-based games
Experiment with free tx’s, free tx’s up to a specific limit, or free tx’s based on a player’s reputation. Build a proof of concept of a web3 game that does not compromise the feel of a centralized game but persists players, items, and information for true ownership of one’s avatar.
NFT Parachain Example
Substrate Collectibles Example
Substrate Game Example.
Existing Gaming Chain Examples
DeFi or Stablecoin Chain
Existing DeFi chain examples:
Decentralized finance is the reimagining of traditional financial services on the trust-minimized backbone of the blockchain. One example of DeFi includes loans and interest-bearing positions such as in MakerDAO’s collateral debt positions system that allows users to take loans out against themselves as counterparties. Another example is a synthetic asset protocol that allows users to create stablecoin positions or derivatives. For Kusama, DeFi can exist on its own parachain by creating an optimized implementation or across parachains by composing a protocol on top of lower-level primitives and using XCMP for interoperability.
Stablecoins are cryptocurrencies that have lower volatility that are often pegged to the value of a reference asset (such as the USD). There are different designs for implementing stablecoins by using algorithmic stablecoin designs such as Schellingcoin or by making synthetic asset designs. A Kusama stablecoin could be similar to one of these or something completely original and new.
Other ideas in this category include a stablecoin savings account (e.g. Dharma), an insurance layer for DeFI (e.g. Opyn), a Business-to-business payment platform (e.g. Veem), a Fast Payments chain, or a recurring subscription payments implementation, or a Non-custodial exchange that integrates with any custody solution and allows users to trade with one another without giving up control to a third-party custodian.
Blockchains are transparent by nature, all of the transaction history is visible for everyone to see. For some applications, stronger privacy needs to exist. On Kusama, privacy can be integrated as its own parachain by using cryptography such as zkSNARKs, STARKs, ring signatures, or other methods of hiding information on chain. It could also be possible to create privacy on the protocol or network level by coming up with designs to hide node or validator identities. The minimum functionality that a project would include here is the ability for users to be able to privately transact value in the Kusama or Polkadot ecosystem. Different designs are possible but the most useful design would be a parachain that would allow private transactions with arbitrary Substrate tokens. Functionality could include all or some of the following features:
The ability to transfer tokens between two accounts without revealing the amount or types of tokens transferred, even if the addresses involved in the transaction are still visible
The ability to transfer tokens between two accounts without revealing the addresses involved, even if the amounts or types of tokens that are transferred are public
Accounts with an unknown balance but also with a view key to allow selected users to view the account’s balance but not its incoming or outgoing transactions. This is similar to ZCash’s z-addresses.
A DAO, or Decentralized Autonomous Organization, is a blockchain application which allows members of a community to collectively come to agreements on certain decisions in that DAO. Aragon is the most famous DAO framework in the Ethereum world. It allows one to launch a DAO in a few clicks, add new applications into it (like different modes of voting or financing) and permits members to initiate votes for actions executed both inside the DAO, and as the DAO towards external smart contracts (i.e. the DAO can invest in DeFi, thereby earning interest on its membership fees). A Kusama DAO chain would allow for a modular DAO framework with basic modules available out of the box, and would make it easy for users to plug their own custom modules into the DAO at will. Whether this is better done through smart contracts or WASM modules which require governance, is up to the developer, but the essence of a DAO is its ability to programmatically interact with other DAOs on the same chain — interoperability of governance is the new way to think about digital nation states.
Example 1: https://github.com/web3garden/sunshine
Example 2: https://github.com/aragon/
Example 3: https://daostack.org
Smart Contract Chain
Smart contracts chains are sandboxed execution environments for small pieces of code that can be permissionless deployed by other developers. Substrate provides a Wasm-based smart contract module and Kusama will definitely need an implementation of this to deploy a live parachain. Some specific ideas could include smart contracts in other languages like assemblyscript and particularly languages for which there are existing toolchains. What would a perfect smart contract chain look like to you?
Content, Social Networking, or Storage Chain
A content or storage chain would focus on everything from a decentralized version of Github and taking ownership of one’s personal data, to hosting unstoppable and censorship resistant websites. Social networks with privacy built-in, decentralized email platforms, next-gen torrents, all this should be possible by integrating a substrate chain with protocols like IPFS or Storj. A Kusama storage chain would be demonstrating a real need for decentralized storage, not just storing things for the sake of it. Alternatively, it would be an abstract chain for fee-based reads/writes that others could connect to as easily as to AWS S3 buckets. This could include integration with IPFS, Storj, etc.
Example 2: Redis-style Data Storage and Commands
A Dark DEX for Kusama could include standard DEX-like features where users could trade tokens from different parachains as well as wrapped tokens from different blockchains. Various privacy and confidentiality features could include:
Confidentiality of details around current and historical orders (size, price, time/date, types of tokens transacted)
Privacy of participants — the identities of users participating in transactions on the DEX should not be revealed
Decentralized Identity Chain
Decentralized Marketplace Chain
Other blockchain ideas
Public voting chain
Computation chain (like Golem)
CATEGORY 2: OPEN HACK
In this category, we want you to push the limits of what’s possible. Be creative, break things, make us laugh, make us cry. Test suites, visualizations, Wasm interoperability, and everything in between qualifies for this category. Shock us with your brilliance.
It is currently not very straightforward to write automated tests — like those available with Truffle or Embark in Ethereum — for blockchain-specific functionality on substrate-based chains. A test suite would allow one to seed the suite with test wallets and execute the state tests in a deterministic fashion. The output should be a comprehensive list of both problems and suggestions on how to fix them, if known. Ideally, the error fixing process would be a crowdsourced effort with up until then unseen errors automatically being turned into a new category on a central repository of problems and recipes.
Something like Truffle https://github.com/trufflesuite/truffle or an integration with Truffle
Transpiler for smart contracts providing interoperability with Wasm
A transpiler is a tool which takes as input one programming language and translates it into another programming language that’s available on the target platform. Transpilers are very useful when one’s legacy codebase is large and a simple transpilation would be faster than a rewrite in another language which would then need to be additionally audited.That’s not to say that a tool that transpiles any other language into WASM wouldn’t be just as popular — perhaps one that’s half way there already, like Nimplay (https://github.com/status-im/nimplay).
Example (Solidity-to-Wasm): https://github.com/hyperledger-labs/solang
Block production visualizer: Got an idea for an interesting, insightful and beautiful way to visualize the growth of the Polkadot relay chain? Great! Bonus points if it allows easy block exploration, finalization, validator data, temporary forks, or other information related to block production on Polkadot.
Block explorer: If you have a great way to explore the historical blockchain status, here’s your chance to show it to the world.
Validator visualizer: Dazzle us with your approach to dynamically displaying information about validators — things like their identifying information, address, era points, or which blocks they produced. You could rank them by the number of blocks produced, or the length of time that they’ve been part of the active validator set. Get creative!
Nomination visualization: In Polkadot, validators are generally nominated by others to get into the active validator set. We imagine this as a giant graph with some nodes being validators, a much larger number being nominators, and connections between nominators and their selected validator(s). Share your vision of how this could be displayed to show users the current state of the nomination ecosystem.
Token Distribution Graph: Show us how you would display the way Polkadot tokens are distributed amongst different accounts.
Account information visualizer: Get inventive with a single page that gives relevant information about the user — any on-chain identity, tokens held, whom they are nominating, if they are validating, account age, previous votes on referenda, proposal submissions, or any other information about an individual account.
A relay chain clock: Maybe it beeps every time a certain number of blocks go by, or a cuckoo comes out once every 100 blocks? Got a better idea?
Throughput visualizer: Show how many transactions are being processed on the relay chain and, once they’re enabled, on the parachains. Or show how many transactions are in the transaction pool. Your choice.
Burner Wallet: You enter your password once when starting to use the app, which then allows you to interact with the app without entering a password for the rest of the session. Huge improvements to UX. A burner wallet can take a private key in localstorage or via GET and create a temporary wallet.
Create a reusable Substrate decentralized storage runtime module: https://github.com/w3f/General-Grants-Program/issues/123
Substrate API Sidecar: https://github.com/paritytech/substrate-api-sidecar
Staking tools: https://www.stakingrewards.com/asset/kusama
Excellent contestants will be awarded the opportunities to join Web 3.0 Bootcamp, Polkadot Decoded, Substrate Course and Substrate Seminar.