Handshake is a UTXO chain and only supports scripts in addresses like Bitcoin. This task is to implement a Layer 2 on Handshake that can be used for running smart contracts.
Since Handshake code is forked from a bitcoin node implementation called bcoin, its RPC and API is similar to that of bitcoin-core. This means that porting an existing L2 made for bitcoin would be relatively easy compared to writing one from scatch:
- Stacks - https://docs.stacks.co/stacks-101/what-is-stacks
- Rootstock - https://dev.rootstock.io/rsk/node/
- (any other L2)
However, you may also choose to create your own, as long as it meets the requirements below.
This project has a bounty for $1000 USD
- Should be able to run smart contracts (can be an EVM with solidity, or Clarity in case of Stacks, or any other language)
- Should settle on the Handshake chain
- Optional/bonus: be able to transfer names to an L2 and make it programmable with contracts
- A proof of concept of an L2 running a smart contract
- Documentation on how the L2 works and links to Handshake, how to run a node, how to interact with the L2
- Adherence to task requirements and specifications
- Security and robustness of the implemented solution
- Overall creativity and innovation