residence-program
residence-program copied to clipboard
Clarity Innovation Lab Resident
What's your name/your team's name?
Clarity Lab
Best email on which to contact you?
Personal Statement
The work I’ve been conducting over the past two years makes me an ideal candidate for the Clarity Innovation Lab Residency, allowing me to deepen my own knowledge and understanding of Clarity while at the same time helping other developers adopt Clarity as the Smart Contract language of choice by demonstrating its great fit across key smart contract concepts from DAO to Defi and NFTs to Atomic Swaps.
I feel that open collaboration is the key furthering Clarity as the smart contract language of choice. An example is the issue raised by @Lnow concerning the use of generalised fungible tokens in marketplace contracts. By working together we were able to bring this innovation to life with a fully functioning contract on testnet together and supporting UI and API to demo this via a marketplace. Buying and selling NFTs in xBTC is here!
Working with other Clarity developers and members of the Foundation and the community will be key to the successful delivery of this residency.
End Product
The deliverables of my tenure in the Clarity Lab Residency will be;
- collation and documentation of best practices and design principals around Clarity smart contract development
- innovative, annotated clarity contracts, complete with Clarinet test suits, published in open source github repo which demonstrate novel structures and properties of the Clarity smart contract language.
- an example of a unique clarity integration (e.g. oracle, bridge, atomic swap etc)
- act as a point of contact on the big issues - evolution of the DAO on stacks, upgrade paths for Clarity contracts, security concerns of atomic swap implementations
- work with other members of the foundation to publish findings, design guidelines, recommendations to relevant web portals
- be a point of contact and feedback to projects and the clarity dev community to express and share concerns and ideas, design patterns and anti-patterns and interesting integrations
Roadmap
Many of the above activities will be ongoing throughout the residency. For example publishing outcomes of discussion about design guidelines in general or for specific types of contracts will be a continuous thread. As will gathering feedback and requests from community members / developers. Some admin will be needed to support this work e.g. deciding on Github accounts for hosting contracts and a web portal for organising and centralising materials. The more substantial work will be delivered as follows;
- MS1 Review (2 weeks)
- The first milestone will be a review of the areas and initiatives of interest. This will focus on understanding the work thats already been done and entering into discussions with various players to determine priorities.
- MS2 Development (4 weeks)
- This is will begin from the outcome of MS1 and deliver a 'deeper dive' into a particular topic
- MS3 Development (4 weeks)
- Iterative approach based on MS2
Appendix
Education
My Ph.D. in Quantum Chemistry from Cambridge University has stood me in good stead for taking on research and development focused roles, having given me the confidence and tenacity to push through tough problems.
Research Projects
Examples of more relevant computational problems I’ve undertaken, interest led, over the past 2 years.
Bitcoin and Lightning
Understanding both the Bitcoin and Lightning networks has been a priority - for example my entry in Blockstack's app mining program, radicle.art, combined direct provenance using the OP_RETURN with data storage via Gaia.
This work entailed setting up and maintaining full Bitcoin testnet and mainnet nodes including Lightning (Labs) implementation of the BOLT specs as well as implementing the rpc/grpc interfaces of both nodes.
Gaia
I was very interested in Gaia at this time and used it heavily in the solution. I experimented with a d-app called Hubber which allowed a Gaia hub to be remotely configured and implemented a Gaia hub in Java in order to fully understand the process.
Solidity Development
Porting this work to Ethereum for the version 1 release of Loopbomb in 2019 gave me some hands on experience integrating Gaia with an ERC-20 Solidity smart contract, running my own Ethereum (geth) node in order to wrap the API and provide fast access to smart contract data - this work became the seed for a richer smart contract caching API I built for a Stacks Foundation grant in 2020.
Mining / Stacking
During the the Argon / Krypton test phases I developed a lightweight measurement application in order to cast light on the distributions of rewards and better understand and visualise the PoX mining process.
Clarity Contracts
My main area of work has been in decentralised Marketplaces. I delivered thisisnumberone - one of the very first NFT platforms on Stacks mainnet which featured video based NFTs from five well know artists / performers.
I recently created a newer version of the contract which allows minting, listing and selling in a generalised fungible token e.g. see twitter
I am currently working on an experimental art project on Stacks. We will run a physical NFT popup gallery in Brighton. Sales will be made to the members of the general public who will only need to set up a stacks address in order to receive their NFT. Payment can be made directly over Bitcoin or Lightning networks or in fiat via a card payment. The payment will trigger a secure mint or transfer of the NFT.
Development Projects
Alongside many partners and collaborators we have delivered the following projects using both the Solidity and Clarity Smart Contract programming languages;
- Loopbomb - on Ethereum (using Solidity)
- Loopbomb - on Stacks
- Crash Punks
- Thisisnumberone - the first NFTs on Stacks
- StacksMate NFT Marketplace - a new marketplace for NFTs
- StacksMate STX Swap - swap stx for fiat, btc or lightning btc
I am a seasoned professional with many years experience leading and working in software development teams in roles from Senior Engineer to CTO and Product Owner to Story Shepard. I am comfortable presenting and facilitating meetings and workshops. As chair of the OPM (Operational Product Management) group at Ericsson I chaired requirements analysis meetings for the C7 Signalling protocol groups in Brighton and Madrid.
Throughout 2018, after leaving my job as CTO at Bidlogix, I ran an educational meet-up for my local community to learn about Bitcoin, Lightning and Blockstack. I gave talks to on average 30 people per session to an audience as diverse as to contain people from 15 to 80 years in age.
Approach
My approach is informal and conversational as opposed to pedagogical or expert. I don’t consider myself to be a Clarity expert but do feel I have a lot to offer in the space between the very few actual experts in Clarity and larger population of developers who’d like to get involved but perhaps fear ‘getting it wrong’.
I am fully aware of the importance of minimising mistakes in mainnet Clarity contracts and believe the best way to achieve this goal is to be open about ones uncertainties and to support one another in identifying and sidestepping the known and obvious pitfalls in a friendly and inclusive manner.
Told ya'll there was more coming! 🚀
Mike, I'm super excited about your Stacks Resident application given your history in the ecosystem and all the ideas you've surfaced. I'm going to share below the current working model for the Clarity Lab for further context. Marvin should also jump in here!
Further definition of Clarity Lab is here (WIP)
Thank you so much for posting this @radicleart. Great to see the breath of previous research projects. We will work together to make the final Clarity Lab formulation and brainstorm on some initial topics of interest and projects.
For completeness, here is the current description of the CIL:
Clarity Innovation Lab
The Clarity Innovation Lab (CIL) is the next expansion in Clarity Universe. CIL will push the envelope on Clarity by conducting research and development, creating novel Clarity smart contracts and support systems, and working on key integrations.
Overview of responsibilities and goals:
The questions and work that CIL will tackle are:
- Understanding what design principles apply when developing Clarity smart contracts. Although a lot can be gleaned from different ecosystems, not all the same principles might apply.
- Creating evolving recommendations on how to best design Clarity smart contracts, common patterns and anti-patterns, based on current and future ecosystem trends.
- Researching and creating novel smart contract structures that leverage the unique properties of Clarity and making them available to the ecosystem under permissive licenses.
- Producing well-researched SIP standards revolving around token/contract standards and Clarity as a language. Generating more exposure and requests for comments from the greater community.
- Address any smart contract-related problems that the ecosystem may be struggling with.
- Work on key Clarity integrations that otherwise cannot find developer fit. Think of oracles, bridges, atomic swaps, and more.
- Integrations must meet the following terms (a) the integration is of great benefit to the entire community, (b) the integration partner, if actively involved, does not have the bandwidth/capacity to do the Clarity work, (c) no developer fit can be found when looking at existing dev shops and the ecosystem at large, (d) the work requires complex novel creation that cannot be handed off to the community.
- CIL should reserve the right to accept or reject proposals.
- Function as a point of contact and think-tank that addresses the large questions. For example: what does a DAO look like on Stacks? How to best implement an atomic swap? How to make dapps more easily upgradable on-chain? The list goes on…
- Produces regular Clarity related content such as contract breakdowns, demonstrations, light tutorials, office hours, presentations on experiments, and more.
- Provide high-level feedback to builders in the Stacks Ecosystem on their contracts as available, primarily done through regular office hours or batched availabilities.
- Be a creative outlet for existing Clarity experts, both longer-term and on a project-to-project basis.
Example work
These projects are poised for immediate adoption by CIL:
- ExecutorDAO — a flexible DAO written in Clarity.
- SIP018 / Signed Structured Data — Human-readable signed messages that are cheap to verify on-chain.
- SIP013 / Semi-Fungible Tokens — tokens that have both IDs and supplies, making them semi-fungible.
- STX Atomic Swap — atomic swap Hashed Time Lock Contracts (HTLC) for Stacks, Ethereum, and Bitcoin.
- RedStone Clarity Connector — RedStone oracle implementation and reference contracts for Stacks.
- deBridge implementation. (If and when it happens.)
- Clarity Book — open source book on the Clarity smart contract language.
- Clarity Starters — starter Clarity smart contracts, to be expanded significantly.
The Clarity Innovation lab is not available for general hire by companies in the ecosystem. It may be available for highly specific bespoke work from time to time, but this will primarily be in an advisory capacity. CIL is not an auditor although it may conduct reviews.
Thanks for sharing @MarvinJanssen very exciting agenda!