Smart Contract Marketplace

Let's find out how this works under the hood!

Enabling the trustless transfer of 3D printer files as NFTs will require a peer-to-peer marketplace due to the decentralized nature of Adosia. The designers need the ability to trade with the buyers as well as the printers. To facilitate this requirement we will create a smart contract marketplace using the Cardano blockchain that is specific to the Adosia use case.

From Designer to Buyer

The contract is designed to be the trustless mediator between the designers, printers, and buyers. It will allow the creators to directly sell their products, it will enable small and large 3D printers direct access to consumers, and it will connect the consumers with the designers and printers. All of this is in a single contract on the Cardano blockchain. This is more than just simply selling an NFT, it is providing the infrastructure for decentralized manufacturing via 3D printing.

The flow of an item from Designer to Buyer incorporates many aspects of the digital and real world. The item will start with a Designer creating an NFT of the 3D printer's file. This NFT will be placed into the marketplace smart contract to be either sold or printed. If a Buyer wishes to own the file without printing then they have the option to purchase the NFT by paying the designer. The Buyer has an additional option of selecting the NFT for printing. If the buyer selects the printing option then the NFT will be transitioned into the *Printing Queue* inside the contract. At this point, some Printer from the Buyer's local region of the world will attempt to print the object and send the item to the buyer. Upon the Buyer receiving the item, a quality assurance check will occur, allowing the community to vote upon the visual quality of the item. A product that passes a quality assurance check will trigger the payment to the Printer. Passing votes will increase a Printer's quality score and the Buyer's trust score. This will create an incentive to be an honest actor in the system. The Printer will want to have a high-quality score and the buyer will want a high trust score.

The digital side of Adosia, like NFTs and voting, will be handled by a smart contract on the Cardano blockchain. The real-world side will be handled by honest members of the Adosia network who develop trust within the community by creating high-quality products that are shipped on time.

The Designer

A Designer is a user of Adosia that seeks monetary gains from their 3D creations. They will be creating their design using the software of their choice then transferring the resulting file into a Cardano NFT that can be sent into the smart contract. The Designer views the smart contract as a means of selling their products into the Adosia ecosystem in a trustless and provably secure manner.

The minting process will follow the 777 Standard to include the royalty fee. It will be minted into the chain as a NFT representation of a 3D printer file. Anyone who owns the NFT should be considered to have the right to print the 3D object at will. Purchase order dependent NFT policy, i.e. burn after one-time print or perpetual printing.

If the participants must be identified then this may be a potential use case for Atala Prism or another identity solution. It could be used as a representation tracker for the users of Adosia, providing crucial information on good and bad actors.

The Buyer

The Buyer interacts in the system in two ways. They can either move an NFT into the printing queue or they can purchase the NFT to be transferred into their wallet. When printing the Buyer will pay the designer and printer and if purchasing then they only pay the designer. The Buyer must provide shipping information to the Printer. It is the Buyer's responsibility to provide correct shipping information.

When a Buyer has an NFT inside the printing queue they still technically own it. They are allowed to remove the printing job anytime before it is selected by a Printer.

The Printer

The Printer will select a job from the printing queue to print and ship. This process will trigger a print on their registered printing node. The printer/ operator will be prepare the 3D model to be printed. The action can be automatic due to the node and smart contract interaction. The Printer will then print the product and ship it to the Buyer.

The quality of the Printer's product will be voted upon by the community, determining their quality score. The higher the quality score the more trusted a Printer will be inside the ecosystem.

The Real-Life Connection

The trustless part of Adosia is the selling and purchasing of NFTs. The trusted part is once the printing job enters a Printer's node. It is on the Printer to succeed in printing the product to specifications and shipping the product to the Buyer given the shipping information.

Validation Details

Each action inside the smart contract is a different validation path triggered by an endpoint. A user can sell, remove, buy, or print a design inside the smart contract. When an NFT is locked into the contract is it considered to be a job. The job is the design to be printed.

The validation for each action is fairly simple. The key to it is the ability to host a queue of open printing jobs and a marketplace at the same time.

When the Designer sends an NFT to the smart contract, they will include their wallet information inside the datum. This will allow for secure removal and payment verification later on in the smart contract. When the NFT is inside the contract a buyer may remove it by paying the designer. If the buyer wishes to print the product then they will spend the NFT back into the smart contract with a new datum value indicating the printing queue and the Buyer's ownership of the NFT. This action will trigger a payment to the Designer. When a Printer selects a job from the printing queue, the Printer will respend the NFT back into the smart contract into the currently printing queue. When the Buyer receives the product they will spend the NFT out of the smart contract and back into their wallets. This action will trigger a payout to the Printer.

Security

The contract will be tested and audited with a third party. The goal with smart contracts is always security. This contract is meant to be safe, usable, and succinct.

Dispute Resolution

Reputation System

  • Delivery issues and user rating

  • Once there is a complaint issued on a job if there is another delivery attempt made another complaint cannot be made.

How to combat false complaints for shipping issues:

Different prices for various buyers - new user must submit ADA collateral for 3 prints?

Open-Source

This is a FOSS.

Last updated