All Projects → ConsenSysMesh → Web3studio Bootleg

ConsenSysMesh / Web3studio Bootleg

Licence: apache-2.0
The Shared Royalty Non-Fungible Token (a.k.a Bootleg) is an open source project started by the ConsenSys Web3Studio team. The purpose of the Shared Royalty Non-Fungible Token (SRNFT) is to make any royalty business model, from the oil and gas industry to entertainment, easy to manage with the Ethereum blockchain .

Programming Languages

javascript
184084 projects - #8 most used programming language
haskell
3896 projects

Projects that are alternatives of or similar to Web3studio Bootleg

Web3swift
Elegant Web3js functionality in Swift. Native ABI parsing and smart contract interactions.
Stars: ✭ 237 (+264.62%)
Mutual labels:  ethereum, smart-contracts, web3js
Ethereumbook
Mastering Ethereum, by Andreas M. Antonopoulos, Gavin Wood
Stars: ✭ 11,663 (+17843.08%)
Mutual labels:  ethereum, smart-contracts, web3js
Blockchainbooks.github.io
Blockchain Books
Stars: ✭ 139 (+113.85%)
Mutual labels:  ethereum, smart-contracts, web3js
React Ethereum Dapp Example
A starter boilerplate for an Ethereum dapp using web3.js v1.0, truffle, react, and parity
Stars: ✭ 384 (+490.77%)
Mutual labels:  ethereum, smart-contracts, web3js
Erc20 Generator
Create an ERC20 Token for FREE in less than a minute with the most used Smart Contract Generator for ERC20 Token. No login. No setup. No coding required.
Stars: ✭ 202 (+210.77%)
Mutual labels:  ethereum, smart-contracts, web3js
Eth Crypto
Cryptographic javascript-functions for ethereum and tutorials to use them with web3js and solidity
Stars: ✭ 420 (+546.15%)
Mutual labels:  ethereum, smart-contracts, web3js
Smart Contracts Example
Simple example of token market. Based on blockchain technology using Ethereum platform.
Stars: ✭ 37 (-43.08%)
Mutual labels:  ethereum, smart-contracts
Hifi Protocol
The Hifi fixed-rate, fixed-term lending protocol
Stars: ✭ 41 (-36.92%)
Mutual labels:  ethereum, smart-contracts
Learn Solidity
Code base for "Learn Solidity: Programming Language for Ethereum Smart Contracts" course in Tosh Academy & Blockchain Council
Stars: ✭ 44 (-32.31%)
Mutual labels:  ethereum, smart-contracts
Solidity
🔐 Ethereum smart contracts developed for the Hanzo Platform.
Stars: ✭ 46 (-29.23%)
Mutual labels:  ethereum, smart-contracts
Solpp
A solidity preprocessor and flattener CLI and library
Stars: ✭ 44 (-32.31%)
Mutual labels:  ethereum, smart-contracts
Homework
HomeWork is an autonomous utility for finding, sharing and reusing home addresses for contracts.
Stars: ✭ 50 (-23.08%)
Mutual labels:  ethereum, smart-contracts
Asset Token
Designed to represent a fungible asset as an ERC777 token
Stars: ✭ 33 (-49.23%)
Mutual labels:  ethereum, smart-contracts
Daox Contracts
Smart contracts for creating Daox-based fundraising organization
Stars: ✭ 31 (-52.31%)
Mutual labels:  ethereum, smart-contracts
Vyper.fun
Cryptozombies for Vyper: Learn Vyper by building games!
Stars: ✭ 42 (-35.38%)
Mutual labels:  ethereum, smart-contracts
Outsmarting Smart Contracts
A repo with information about security of Ethereum Smart Contracts
Stars: ✭ 29 (-55.38%)
Mutual labels:  ethereum, smart-contracts
Augmint Web
Augmint Web Frontend
Stars: ✭ 15 (-76.92%)
Mutual labels:  ethereum, smart-contracts
Protocol
⛓ Dev Protocol is an open source middleware for creator's sustainability.
Stars: ✭ 56 (-13.85%)
Mutual labels:  ethereum, smart-contracts
Awesome Ethereum Cn
Web3.js、Solidity、Truffle开发教程及以太坊开发资源汇总
Stars: ✭ 54 (-16.92%)
Mutual labels:  ethereum, web3js
Stow Smart Contracts
Formerly Linnia-Smart-Contracts
Stars: ✭ 59 (-9.23%)
Mutual labels:  ethereum, smart-contracts


Bootleg

Steal this Code

Packages . Architecture . License

Welcome to the near future. This repo is the home of Bootleg 👢🦵. This is the latest project from the Consensys Web3Studio team. We are beginning development on this exciting new idea and you can follow the latest updates here through GitHub. Please join the discussion, create issues, and get involved!

Check out the Bootleg developer kit, and read more about the project in the latest article about Bootleg on Medium

Project overview

This repo holds the code and development assets for the Bootleg SDK. The repo and many of the high level concepts in this project all pay homage to the original article about the idea published on Medium. Whenever possible we have attempted to use more generic terms in our code and domain models so that as much code from this repo can be re-used, shared, re-purposed by anyone. We have done our best but it is a tradeoff between making something we feel embodies the spirit of the idea and speculating about what would be useful for someone using the work to build their own idea.

Packages

This is a monorepo that contains the projects that make bootleg rock 🎸. You can find the code for all of them in in the packages folder.

You'll notice two prefixes. bootleg projects are directly related to the fictional bootleg app, or the smart contracts it uses. dONT projects are related to a system to create non-transferable digital native assets, basically blockchain DRM.

bootleg-app

Everything comes together here. This is the demo dApp where we created a UI to trade the first ever Bootleg token. It exercises the token and the mechanics of the SRNFT token. You can view the token details, list it for sale, purchase it from someone (joining the franchisors list), download the video file attached to the token, and (most importantly) withdraw the eth you earned as part of the franchisors.

bootleg-tokens

This is where you can find the smart contracts for the bootleg token itself. This is where you would want to look if you want to use our pay-it-backwards tokens in your dApp.

bootleg-app-contracts

Here lies the smart contracts used by our fictional app. It's a great reference implementation for your Bootleg-esk dApp.

dont-crypto

Where the rubber hits the road. A phenomenal library to encrypt and then cryptographically watermark an asset to allow copyright holders to find who leaked their content. Note: dONT is getting a lot of traction outside of the Bootleg project so it was moved into it's own repo. https://github.com/ConsenSys/web3studio-dONT Follow along with the action there!

Architecture

Disclaimer: The purpose of the work here is to inspire others to try and implement something like what we've described. Building a full working system of this level of complexity would require a non-trivial amount of work. We believe the information here represents our best-guess at what we might build should we have the time/resources to do so. Our hope is that you will find parts of this project inspiring or thought provoking enough to dig in and experiment on your own. We are open to any questions, comments, feedback but keep in mind that this is a work of fiction.

System Components

We are imaging that the system to support the story defined in Bootleg would be composed of multiple systems. WE ARE NOT BUILDING ANY OF THESE IN THE SDK. However, they might be useful and/or part of an actual implementation of a Bootleg-like product in some way. Documenting them here helps us (as developers of the SDK) focus on important technical parts of the system knowing that the packages we created (listed above) have their place in the large system whole. The imagined systems are as follows:

Mobile/Web Apps

Fan App - The fan app will allow people to access and view the bootlegs created by the Bootleggers in the system. It will function similarly to a music store but instead of buying to own the bootlegs you are buying access and future royalties on sales. Through the fan app you would be able to search for artists you like, see the latest popular Bootlegs, gain access and watch audio/video of the concert. There is also a social component where you can connect with other fans, bootleggers, and artists on the platform.

Bootlegger App - Used during the concert, the app would allow the person creating the Bootleg to capture the audio/video recording of the concert. It would support all the functions around requesting access to the band to become a bootlegger for them, handling any royalty agreements, promoting your existing Bootlegs through the platform, and connecting with fellow Bootleggers at/around the concert you are attending. Note: This app is also built to support desktop use so audio/video files can be edited using traditional DAW/Non-linear editing software.

Artist App - Primarily used for approving the bootlegs that have been submitted by the Bootlegger. This app would also be used for updating the artists page, communicating with Bootleggers. It has integrations with social media (Twitter, Facebook, Patreon, etc...) to reach out to fans and promote their concerts.

Bootlegger Systems - The fictional company behind the Bootlegger product would need a management system. This system would be composed of several web-apps/services that would cover the following:

  • Approving new Bootleggers and Artists, management of their profiles, bootlegs, and any administration around royalty payments.
  • Management of Bootleg artifacts and sales
  • System for resolution of any disputes around ownership/access
  • Ticketing system for issues with the quality of the Bootleg video/audio, access to decrypted videos, etc... (e.g. re-uploading a file, adjusting payouts, removing bad-actor members, offensive content, etc...)

General System Flow

The diagram below outlines the different users involved in the Bootleg process. Each group of users interacts with the product/application in different swim lanes that are somewhat independent from each other and cyclical.

General System Flow

Bootleg Creation Sequence

The diagram below shows the sequence of events during the minting of new Bootleg tokens.

Bootleg Creation Sequence

New Member Added Sequence

The diagram below shows the sequence of events when someone pays for access to a Bootleg recording.

New member added

Ethereum

The Bootleg system runs on Ethereum through the use of custom Smart Contracts and a 721 compliant tokens.

Token Design

The purpose of the token design diagram was to think about the structure of the conceptual Bootleg Token. It is composed of several domain areas, and then further decomposed into several functional blocks. Once we had these defined we set out to find existing tokens and projects that could be used for the project. We did not want to re-invent the wheel but if the wheel needs some extra bearings or fancy spokes we are okay with that.

After our survey of what is out there (and there is a lot, much I'm not even mentioning here) we felt that the ERC721 contract design would handle 80% of what we needed and for the rest we would add in custom smart contracts for specific areas of functionality.

Token Design

Domain models

App and Smart Contract Models

License

As per usual, we are publishing under the Apache 2.0 License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].