stacksgov / grants-program

Welcome to the Stacks Foundation Grant Program. Community members interested in submitting a grant proposal may do so by opening an issue in this repository and filling out the grant application.
141 stars 36 forks source link

Risidio Auctions - Digital Collectibles on Stacks 2.0 #12

Closed radicleart closed 1 year ago

radicleart commented 4 years ago

Background

What problems do you aim to solve? How does it serve the mission of a user owned internet?

Auctions for non-fungible assets, or NFTs, have been a killer app in the Ethereum ecosystem but have also, with the success of CryptoKitties, way back in 2017, displayed its Achilles heel.

Our experience of this pain has been - and continues to be - first hand. Our own Digital Collectibles app Loopbomb, originally developed as a Blockstack app that now relies on Ethereum for minting, currently costs one buck to mint a loop and ~ 4000% on top to pay the gas fees. The situation is so bad that it has brought trading to an abrupt stop for all the awesome art projects currently trading on OpenSea.

These NFT projects need a new ecosystem to grow and the combination of Gaia, Clarity and the Stacks 2.0 blockchain is for us the only way to go. Bitcoin level security plus genuine user-owned data via Gaia!

Our own background, building Bidlogix, in white labeled online auctions and asset management on Web 2.0 means we bring real world experience and relationships from the online auction space to the world of blockchain. Clients such as GE Warehouse, Hilco Industrial and John Pye are currently running multi-million dollar event-based auctions and auctioneers in arts and collectibles like Gorringes and Thorntons use the bidding platform to run live webcast auctions in real time against bidders present in the auction house.

Combining these experiences, leads us to propose an ambitious plan to build bidding software on Stacks 2.0 that starts with the small, but rapidly growing, marketplace of Digital Collectibles and reaches beyond this to the multi-billion dollar markets in auctions of real world physical assets.

Our vision and conviction is that this will attract a plethora of other projects to the Stacks blockchain to compete, and create genuine innovation and end user choice in the user owned Internet.

The following proposal is in support of this vision and enables us to accelerate into the next stage of our journey towards its realisation and the further development of a user owned Internet by using blockchain to solve the real world problems from lack of data privacy to illicit practices and to add real value to all players from the auctioneers to the buyers and sellers.

Please see our full Project Plan

Project Overview

What solution are you providing? Who will it serve?

In our view, OpenSea is a fantastic project. However, our intimate involvement with the platform - via our experience to date with Loopbomb – has convinced us that we can improve their general architecture in several key ways and informs our overall understanding of the project requirements as outlined below.

Firstly, the OpenSea marketplace depends on a token counter in the ERC contract to uniquely identify an asset, as opposed to a hash of the artwork file. The second is that the design requires a centralised API which maps the counter to metadata in order to locate the NFT. These design issues lead to some serious security problems. For example, a hacker gaining access to the central API database can scramble NFT ownership - there is no hard association between the minted NFT and the actual asset.

OpenSea also has a tendency to mix asset types within the same marketplace – e.g. rare digital art often gets swamped out by dozens of plain images of crypto domain names.

Thinking beyond digital assets to the physical realm, helps to make it clear that segmentation by asset type is vital for scaling auction software on Stacks 2.0. A user is unlikely to buy a Stradivarius violin from a site that also sells second-hand cars or CNC lathes. We believe getting these partitions right in the Clarity layer is also a key indicator to success in this field.

In our view, the right design of a fully featured decentralised marketplace as an umbrella for DC projects on Stacks 2.0 using Clarity contracts, Gaia, and a stateless (Lucene / Radiks) search index, will pave the way for real world physical auctioneers currently on Web 2.0 to begin to take advantage of the high value blockchain propositions, incorporating:

We have already proven many of the principles of this design with earlier projects in app mining; dbid and radicle.art as well as with loopbomb.com.

Scope

What are the components or technical specs of the project? What will the final deliverable look like? How will you measure success?

Building something comparable to Bidlogix or OpenSea on Stacks 2.0 is, understandably, well beyond the scope of our current grant submission, despite the significant amount of work we’ve already completed towards this goal.

However, we would like to present here what we believe is a credible next step towards realising either one of these projects and refer the reader to other documents for an outline of our wider ambitions.

The plan here - referred to as Phase One or “pilot” - is to take our Loopbomb project and convert it to a full Stacks 2.0 ready project. There are four major (product development) elements to this plan, as follows:

The devil is, as always, in the detail and we imagine this work will require innovation and collaboration within the Stacks 2.0 community to solve problems such as wrapping the core NFT methods, nft-mint, nft-get-owner nft-transfer, in common interfaces / traits to provide standards for Clarity NFT projects that are comparable to the ERC standards on Ethereum, which play a fundamental role in the OpenSea platform.

As with OpenSea, each individual DC project is both standalone and also a feeder for the aggregating platform. In this sense, we’re treating Loopbomb as a reference implementation - a convenient project that we can use to validate the concepts involved.

In reality, Loopbomb is way more than this as it is being actively promoted within the Ethereum / OpenSea communities. This puts the app in a really interesting position - a bridge from IPFS to Gaia and from Solidity to Clarity - a very interesting proposition for the marketing campaign we envisage!

How are we different from OpenSea?

How do we measure the success of Phase 1?

Phase 1 would be deemed successful if we manage to produce the following.

Why Blockstack should be interested?

Blockstack is still in its testnet for Stacks V2.0. It currently has features like STX mining, Building Apps and writing contracts. Not many people use Clarity and are unaware of its usability and Stacks' added security.

Blockstack is missing a marketplace for NFTs/Digital goods. Instead of being a partner to OpenSea, Blockstack can act as an alternative to OpenSea and ETH. This can act as a trigger to bring crowd over from ETH to Blockstack space and bringing new business not just in commissions but also introducing a new audience to Stacking and Mining on Stacks 2.0.

Budget and Milestones

What grant amount are you seeking? How long will the project take in hours? If more than 20, please break down the project into milestones, with a clear output (e.g., low-fi mockup, MVP with two features) and include the estimated work hours for each milestone.

We are asking for the full $5,000. Our costing for this work is roughly $15,000 (see appendix 1) - so we propose investing $10,000 ourselves to deliver the project. We use Agile methodology. The project is delivered iteratively in 2 week cycles - so milestones are actually sprints and the features undertaken in each sprint are written as user stories, scoped and agreed with by the team. Unit tests are assumed part of feature development. Delivery will happen roughly as follows;

Milestone / Sprint 1 - 190 hours;

Completed work in the first sprint;

As a user I want to buy credits for a loop with STX tokens in the same way that I buy them today for ETH or Lightning BTC

Milestone / Sprint 2

Completed work in the second sprint - 90 hours;

Milestone / Sprint 3

Completed work in the third sprint - 20 hours;

Budget for at least half a sprint here to complete the work that flows over from the previous two sprints.

Total = 300 hours

This puts the project at 5-6 weeks with work needed across the following skill sets;

Team

Who is building this? What relevant experience do you bring to this project? Are there skills sets you are missing that you are seeking from the community?

Risidio’s team consists of a diverse range of people from all corners of the globe. Since the company’s inception in February 2020, there has been a steady growth in its human capital, with a total of 15 people currently contributing to the realisation of its mission and vision. This team of people represent nine nationalities and speak over fifteen different languages, collectively. Some of the languages the team are fluent in include English, Russian, German, Mandarin, Italian, Spanish, Dutch and Japanese. Our multilingualism helps us bridge gaps between cultures and enables us to foster strong personal relationships on which great business relationships rely.

We are ready to and have most of the skills needed to get going but we are also actively looking for collaboration from within the community.

Risks

What dependencies or obstacles do you anticipate? What contingency plans do you have in place?

Stacks 2.0 has not yet reached mainnet and so any investment in building on top is high risk at this stage. Our belief in the soundness of the computer science behind Blockstack combined with support from the foundation helps to mitigate this risk.

Clarity is a very new smart contract language and support for it amongst the wider blockchain community is not yet certain. It is a LISP based language and therefore quite unfamiliar both to smart contract developers within the wider blockchain community but maybe more pertinently to the many C#, C++ and Java backend developers who might otherwise be tempted to learn smart contract programming. The partnership with Algorand, announced earlier this quarter, helps to mitigate this risk to some extent.

There are specific risks from other projects looking to support smart contracts on Bitcoin. The RSK project, although a federated solution, is allowing Ethereum projects to port their solidity ERC based contracts directly onto their Bitcoin sidechain - this represents risks to Blockstack from loss of market share and threatens ability to gain traction. Likewise Giacomo Zucco’s RGB project poses a similar distraction - drawing developers away from Stacks 2.0 in the hope of registering assets using the Lightning network.

Community and Supporting Materials

Do you have previous projects, code commits, or experiences that are relevant to this application? What community feedback or input have you received? How do you plan to share your plan to the community over time and as the final deliverable?

Our code base is under @radicleart on GitHub – it’s a mixture of open source public and private repositories. In addition to building three Blockstack apps (dBid.io, RadicleArt and Loopbomb, we run Brighton Blockchain Meetup and have presented numerous talks on Bitcoin, Lightning and Blockstack to our local community and have been regular contributors to Blockstack Forum over the past few years.

We’ve also taken part in several Lightning and Blockstack hackathons since the Berlin Summit in March 2018 and the second Berlin Lightning Hackathon up to the recent Clarity and #HackStacks where we are developing rStack a delegated stacking application that makes it easier for smaller stacks holders to get involved.

We won best Lightning app for Loopbomb in Can’t be Evil 3!

Since starting Risidio at the start of lockdown, we have been educating and training new members of the team in the importance of Bitcoin Lightning and Blockstack technologies. We are very proud of the video explainers we’ve managed to produce as these have been an amazing team effort.

Conclusion

We are excited by the prospect of working with you to deliver outstanding results through a well-executed development project starting with digital collectibles and moving on into a full-blown auction site based on Blockstack’s evolving capabilities.

We believe we possess exactly the sort of experience and expertise to meet and exceed your expectations and to provide an innovative and effective solution to your current needs and which, once we’ve proven its effectiveness in digital collectibles, can be applied to other markets.

We look forward to continuing our journey in developing a long-term, sustainable and mutually successful relationship with Blockstack.

Please see our full Proposal

friedger commented 4 years ago

This is much more promising than #5

radicleart commented 4 years ago

Thanks Friedger - we are very interested in collaborations and partnerships to deliver this work - dm me on discord if you fancy discussing it?

dantrevino commented 4 years ago

I'd like to see the benefits to the Stacks community highlighted, rather than benefits to loopbomb. For instance

Will the ERC -> Clarity bridge benefit anyone outside of loopbomb?

radicleart commented 4 years ago

Hi Dan,

Thanks - this is a really helpful question.

The key benefits to Stacks Community as we see things;

We are actively seeking to add value by engaging other really smart Clarity developers from the hackathons who might otherwise have just been passing through. We have the skills to develop people as well as technology. It's through this process, we expect to contribute directly to the development and marketing of Clarity and to help build shared contract code that can be reused by many projects, reducing on-chain bugs, bloat and lowering the barriers to entry to other developers.

The Blockstack community will be able to benefit from the development of an umbrella marketplace for trading digital collectibles. Digital Collectibles (DC) have been a really important area for growth on Ethereum. OpenSea have provided a huge amount of value with their marketplaces for DC apps from Decentraland to Super Rare and yes to Loopbomb. Our proposal adds value by building these marketplace umbrella features; bid, buy, sell, search. There is additional benefit because other marketplaces can bootstrap from this work, as in the Rarible model, and help decentralise the space further.

Another important way in which we can help the community grow, as my partner Peter Ponton has taught me, is that it's not actually about the technology - it's about the people. Since the start of lockdown we have scaled up a small company, now with 14 people, many different languages from around the world, working together daily on Zoom to build our Risidio website and Blockstack hackathon entries. None of them had heard of Blockstack 4 months ago - now it's all they’re thinking about!

Please feel free to follow up - dm me on discord etc - as we’d love to hear your suggestions?

friedger commented 4 years ago

Re-reading the proposal again, I would rephrase the title to Loopbombs on Stacks 2.0 and this is what I understand could be deliverables usable by all of the Blockstack community:

Milestone 1:

Milestone 2:

Milestone 3:

There are some general questions about what a Grant should support. As this is still in the flow, I would just keep it flowing :-)

I see this as a proposal to support the development of an app (with some reusable parts for the community). And I am supporting this grant as it will bring more awareness to a non technical audience (specially in Milestone 3) and it will exercise the creation and auction of NFTs on Stacks 2.0 as well as open the necessary discussion about potential standards.

friedger commented 4 years ago

Loopbomb will then be open sourced?

radicleart commented 4 years ago

Friedger, thanks for the questions and really good suggestions - I'll try and give more detailed response soon but just wanted to quickly answer the open source question.

Everything within Loopbomb that interacts with Blockchain APIs, contracts etc is encapsulated in a separate web component and is already open source (see https://github.com/radicleart/fe-lsat). This web component also contains our implementation of LSAT 402 payment protocol. It's our intention to build open source tools as part of this grant submission.

We believe in open source and sharing code and look forward to working with the community to create as much open source property as we can, we welcome yours and others input on the best ways to achieve these objectives.

RaffiSapire commented 3 years ago

Review Committee Feedback from 9/15/2020: We'd like more information on your proposal.

Hi @radicleart, I'm Raffi, I am working on the Foundation Grant Program alongside the team. Let's get on a call if we can on Friday and talk through your team and what the best way to engage is together. What's the best email for you, and your availability for a call?

In advance, we'd like to get a better sense of how users interact with Radicle and Loopbomb today. Can you please share the usage metrics you track (daily, monthly, total) and the key behaviors you track currently on the existing platform? Sharing the google analytics snapshot for the past few months would also be helpful.

For the community here that is participating, we'll share notes from the call here as a summary and next steps.

friedger commented 3 years ago

I hope you are not using GA

radicleart commented 3 years ago

Hi Raffi,

Does Friday 6pm BST work? Please feel free to dm me on (Blockstack) discord - @mijoco.

We gather server side metrics (using Prometheus and Grafana) which can collect anonymous metrics like unique visits etc from the web server. We currently only monitor the health of our lightning / bitcoin nodes. Investment in Prometheus and Grafana, to support scaling up our collectibles marketplace, is part of our analytics story and will be covered in some detail in our PRD as it evolves over the following couple of weeks.

We don’t use client side tracking (ga or otherwise) in any of our client d-apps but we can get a feel for growth of e.g. Loopbomb, which was officially launched 2 weeks ago, from the Ethereum contract data presented on Open Sea here https://opensea.io/assets/loopbomb. The number of owners (currently 21) is an upper bound to the number logins via Blockstack Connect. The buzz and activity on the Loopbomb discord server is also helpful. RadicleArt is pre-production and has artwork from around 10 artists from Zagreb, Berlin and Bristol.

Thanks for the questions and hope this helps. Look forward to meeting you.

Mike

radicleart commented 3 years ago

@friedger, thanks again for your valuable input. In answer to your suggestion to rename our project to Loopbombs on Stacks 2.0, we don’t think this would be a suitable descriptor because our project is all about building a marketplace for digital collectibles in general and is not about Loopbomb per se.

In our approach, the software development of this marketplace is the major cost in our grant proposal and is consequently the major deliverable to the community. After re-reading your proposal, I’m not sure that you are including the cost of developing this marketplace in the same way as we are. It seems to us, that you are looking to use the opensea-whitelabel repository to provide this functionality. Our understanding is, however, that this repository just exports the OpenSea marketplace functionality via an iframe, rather than their actual code base.

Regarding your other question about deliverables to the community, in addition to the software development of the marketplace itself, our deliverables will include the video explainer, open source Lucene search index, client side web component modules (for payment and minting) and in-depth market research and analysis which we’re happy to share with the Foundation. To summarise, our main focus in phase 1 is;

The marketplace will display listings of items from a wide variety of different projects and provides features such as bid, buy, sell - so those projects will have a much lower barrier to entry in the crypto-commerce space.

We’re looking forward to discussing with the Foundation whether Loopbomb itself is an acceptable reference application / art project / early adopter of our marketplace platform. We are already working on a second reference implementation to deliver the marketplace as we believe two or more reference applications will be beneficial in order to spec all the potential use cases. We are also exploring potential collaborations within the community for other client projects and additional use cases.

We look forward to collaborating with you going forward and appreciate all your input.

radicleart commented 3 years ago

@RaffiSapire sorry we missed you on Friday. We have plenty of availability this week both in your mornings and afternoons. For example, 1pm (your time) Monday onwards or your Tuesday morning?

You can reach us by email at info@risidio.com or preferably dm me on discord @mijoco.

RaffiSapire commented 3 years ago

Hi @radicleart thank you for taking time to speak with us last week. After our call it was clear htat you all are early, involved and active community members and we approve this grant. Since much of this is dependent on Stx 2.0, lets first break out the UX/UI hi fi mockup as an M1 which you can do before, yes? The next step will be to send you over a contract so we can disburse payment at the given milestones, please email grants@stacks.org with your contact information.

M1. $500. Hi-fi (pixel-perfect) mockup, with 5 user tests done with folks in the community, share back the mockups during a community call or blog post. M2. $4000 Sprint 2 as proposed above. All features must be complete and functioning, this phase is dependent on Stx 2.0.
M3. $500 User research and marketing. -- User Research: $10 for every user you get to try this and conduct user interviews, up to $500. Output here can be a compilation of user interview notes, and a summary of high-level findings.

SmartMirlo commented 3 years ago

Congratulations, Risidio!

blocks8 commented 3 years ago

Funded $500 for development of M1: M1. $500. Hi-fi (pixel-perfect) mockup, with 5 user tests done with folks in the community, share back the mockups during a community call or blog post.

RaffiSapire commented 3 years ago

@radicleart reopening this, we'll keep it open until all milestones are complete. What is your estimated timeline to complete M1? We're having a demo day at the end of the month and we'd love to have you show off the mockup to the community!

radicleart commented 3 years ago

Thanks Raffi,

We are planning and starting work this week. I'm sure M1 will be delivered in time for demo day!

Mike.

vtrblock commented 3 years ago

Hello everyone ! . I have been requested to contribute towards the Usability (UX) Audit on some of the design assets presented here. Happy to helpout.

For starters following are some of the things i will be looking for in the static mocks :

  1. Overall UX flow screen to screen .
  2. My take on information architecture . For e.g - top nav content categorization ( will require content copy not just placeholder text. It's ok if content is not complete ( usually its an ongoing effort ).
  3. Presence / Absence of Visual Hierarchy among all the atomic components and overall design .
  4. Spacing and sizing consistency .
  5. Accessibility ( purely in terms of contrast at the moment).
  6. Empty or Error states . ( if no design mocks exist for these rough wireflows will do for now ).
  7. Interactive state transitions if any .

Questions for Risidio team :

Some UX recommendations at the moment :

Usability-audit-1

Camielvdb commented 3 years ago

@tvr132b Thank you for your feedback. Regarding the first question, at this stage in the process, converting Adobe XD files into Figma files is quite tricky. Doing this manually takes up a large amount of time and if we had to use external tools, the costs would be substantial. This is a great suggestion for future projects, but it is not really feasible for this project. We are considering to create a simpler file just for feedback with fewer screens to keep things organised.

As for the second question, we created sets of personas for two stages. The first stage is the current one, for which we made a simplified version of the final stage.

In stage 1, we worked with: Simplified User (@GeneralJohn - “Is interested in either trading, collecting or getting inspired by browsing and searching for collectibles.”) Project Administrator (@LucidDreamer - “Has the vision and passion and has built an app but doesn’t have the resources to build marketplace features.”).

Risidio Auctions User Journeys Schematic  Phase 1

In our next stage, we divided @GeneralJohn into 3 more detailed personas, which are: Collector (@SkipJack - “Checks the listings daily for new artworks and projects. Needs information about the trading history, what’s hot, what’s new. Rare offers - he needs to know the details about what makes digital artwork valuable.”) Seller (@QuickBuck - “Wants to make a bit of dosh quickly. Needs information about the trading history, what’s hot, what’s new.”) Artist (@Xmakina - “An artist exploring digital collectibles as to express their passion for digital artwork.”)

Risidio Auctions User Journeys Schematic

We created user journeys for these specific personas, so we could highlight key moments, which helped us creating a UI design.

We really appreciate your recommendations. The template would be very helpful, and actual content makes a lot of sense. In smaller applications this is always the goal, however, since we currently don’t have the resources to create 100+ placeholder collectibles it is more about finding a balance. However, we see that text in important places, titles, subtitles, short explanations should be actual content, no Lorem Ipsum. Though this isn't the final content, users will be able to have an idea of what kind of content there will be. Hope this helps you gain a reference to our understanding.

Camiel (UX/UI Designer at Risidio)

radicleart commented 3 years ago

Hi All

The latest on our grant application #12 Risidio Auctions is successful completion of milestone 2. We have been working hard on the deliverables for this milestone and would love to get any feedback or suggestions from the community.

We have a staging domain for the marketplace where community members can check out the features for themselves. The staging site is pre-production and under construction. It is currently being tested in-house but all feedback is welcome and we will be looking to engage with the community more in the coming weeks.

The staging site has the following features (in line with our grant submission). In addition we are working on some help pages and blogs which will explain the marketplace in more detail.

Because of the early stage of things in general we have built support for Connect as well as an internal wallet. This helps us workaround some known issues we’ve come across during development and also makes it easier to test buy / sell functionality without depending on the faucet - you’ll see a toggle in the header to switch between wallets.

We are working on explainer videos e.g. this one and content to explain how the site works - e.g. see the ‘how it works link on staging’.

Please feel free to ping me or Irina on Discord at any time.

Risidio Team!

RaffiSapire commented 3 years ago

Hey there- when we click buy now its a wait loop. So we are not able to buy an asset from another user and change the ownership. Am I missing something on that piece or is that not possible technically until stacks 2.0 launches?

radicleart commented 3 years ago

Hi Raffi - thanks for trying it out. Yes it is technically possible to run a 'buy' transaction on testnet and we have tested this out on Krypton. However our release coincided with release of Xenon and a chain reset a few days later causing our test data to become invalid a couple of times over the past week. We decided to wait for Xenon to become stable and also for the NFT standards process in which we are involved before spending more time on it. We will need to update our contracts depending on the outcome of the NFT standards work. Another factor, in the meantime, we have begun preparation to take part in the mining competition, starting on the 15th, but this is on Krypton which also causes problems for the auction platform since it means we will be reading from a different chain from where we are writing! Will be grateful for any insight / advice you have on this?

radicleart commented 3 years ago

HI Raffi - I'm moving the krypton mining to another node so Risidio Auctions can stay connected to the main / latest (xenon) release. This will hopefully mean we can get the test data set up again to be able to demonstrate the 'buy / transfer' of an asset / NFT.

The user experience will be greatly improved with the micro blocks PR #2085 - which it seems to have been merged the other day.

radicleart commented 3 years ago

Hi Raffi - I've just added a 'how to buy' guide, showing a transfer, here https://dcmarket2.risidio.com/community?uid=how-to-buy.

This is as far as we want to go at present, until we have micro-blocks, because transactions speeds are very slow, making testing highly costly for us.

Please advise on release of funds for this milestone - do we need to invoice or can this be handled automatically?

radicleart commented 3 years ago

@RaffiSapire - be really good to know if this is enough and if the payment can be released in time for Christmas?

RaffiSapire commented 3 years ago

I just completed the payment for the remainder of the grant M2 + M3.

radicleart commented 3 years ago

Thanks Raffi - have a lovely weekend!

RaffiSapire commented 3 years ago

Hello! Thank you for all your hard work this year. We would love to send you a holiday note and some custom stacks stickers. Please email me at Raffi@stacks.org with you and your colleagues names/addresses if you'd like to receive one. We really appreciate all your help and contributions. Stacks is what it is because of you!

RobZuazua commented 3 years ago

@radicleart, are you still working on Risidio Auctions?

radicleart commented 3 years ago

@RobZuazua hi! - yes very much so. You can dm me on stacks discord server @mijoco if you'd like to know more?