Freelance payment protocol written in Rust.. (with multi-sig signing for dispute settling)

Overview

Freelance Escrow payment protocol

📝 About

  • The freelance protocol is a protocol built on decentralized and open systems such as blockchain and decentralized storage. The freelance protocol aims to be used in escrow payments, decentralized profiling, building freelance platforms, and many other possible use cases. It can be used by anyone whether it’s a designer, writer, developer, or other professional. It will help with,

🚀 It will help with:

  • Securing the payment,
  • Eliminate trust and third parties,
  • Bring transparency and authenticity

🚀 How it works:

The Protocol basically secures funds for a project between two individuals (A client and a freelancer) and helps to release the funds to the freelancer in batches depending on the number of milestones achieved. It also allow a third individual to be an observer in the project and serve as a judge in case of a Dispute

1

  • Client initializes a project with the following information
    • Client Public Key
    • Freelancer Public Key,
    • An observers Public Key(which would act as a judge in the case of a conflict),
    • A multisig wallet Account with three owners (client, Freelancer and Observer)
    • A project Info Account
    • An Escrow PDA to hold funds

2

  • Client and the Freelancer creates a transaction and signs it to begin the project officially. At this point, the client cant withdraw the funds

3

  • Client and Freelancer work off-chain and mark the current milestone as completed when job is satisfactory

4

  • If dispute arises, the observer gets involved and votes in favour of who was right (more conditions for this to be present in V2)

Multisig Rules

  • owners: 3
  • threshold: 2

🔥 How to test

Prerequisites

Installation

  • Fork the Repository
   $ git clone https://github.com/IMEF-FEMI/freelance_payment_protocol
   $ cd Sol-Loan-a-NFT 
   $ git remote add upstream https://github.com/IMEF-FEMI/freelance_payment_protocol
   $ yarn install
   $ yarn run build:program
   $ anchor test

feedbacks would be greatly appreciated

For more information check our slide

You might also like...
A prototype implementation of the Host Identity Protocol v2 for bare-metal systems, written in pure-rust.
A prototype implementation of the Host Identity Protocol v2 for bare-metal systems, written in pure-rust.

Host Identity Protocol for bare-metal systems, using Rust I've been evaluating TLS replacements in constrained environments for a while now. Embedded

Next-generation implementation of Ethereum protocol (
Next-generation implementation of Ethereum protocol ("client") written in Rust, based on Erigon architecture.

🧬 Martinez 🧬 Next-generation implementation of Ethereum protocol ("client") written in Rust, based on Erigon architecture. Why run Martinez? Look at

An implementation of the SuperNova protocol, written in Rust

SuperNova Warning: this implementation is experimental and not audited. Please use at your own risk. This repository contains an implementation of the

Rust implementation of multi-party Schnorr signatures over elliptic curves.

Multi Party Schnorr Signatures This library contains several Rust implementations of multi-signature Schnorr schemes. Generally speaking, these scheme

Two-party and multi-party ECDSA protocols based on class group with Rust

CG-MPC-ECDSA This project aims to implement two-party and multi-party ECDSA protocols based on class group with Rust. It currently includes schemes de

Ethereum JSON-RPC multi-transport client. Rust implementation of web3 library

Ethereum JSON-RPC multi-transport client. Rust implementation of web3 library. ENS address: rust-web3.eth

Simple shared types for multi-threaded Rust programs

Keep Calm (and call Clone) Simple shared types for multi-threaded Rust programs: keepcalm gives you permission to simplify your synchronization code i

MLIR Rust multi-level compiler framework

MLIR-RS Multi-Level Intermediate Representation framework for Rust. What Modern programming language design is moving towards multi-level lowering to

multi-market crank for serum-dex

A performance and cost optimized serum-dex crank that allows combining multiple market cranking instructions into a single transaction, while concurrently generating the crank instructions allowing for increased throughput.

Owner
Femi Bolaji
Biggest Blockchain Enthusiast🦀.
Femi Bolaji
A substrate pallet that enables Manta's decentialized anynonymous payment (DAP) protocol.

This is a pallet that enables decentialized anynonymous payment (DAP) protocol. The best way to use this repo is to invoke it with a manta-runtime, available from either manta-node or cumulus.

Manta Network 27 Nov 23, 2022
Kryptokrona SDK in Rust for building decentralized private communication and payment systems.

Kryptokrona Rust SDK Kryptokrona is a decentralized blockchain from the Nordic based on CryptoNote, which forms the basis for Monero, among others. Cr

null 5 May 25, 2023
A Rust library to interact with the MPesa API, simplifying B2C payment integrations and more.

MPesa SDK (Rust Library) A Rust library to interact with the MPesa API, simplifying B2C payment integrations and more. Features Configuration manageme

Ismael GraHms 8 Aug 23, 2023
Fast and efficient ed25519 signing and verification in Rust.

ed25519-dalek Fast and efficient Rust implementation of ed25519 key generation, signing, and verification in Rust. Documentation Documentation is avai

dalek cryptography 563 Dec 26, 2022
A library facilitating the signing and broadcasting of transactions on Cosmos SDK-based blockchains

txf Transaction factory - a library facilitating the signing and broadcasting of transactions (txs) on Cosmos SDK-based blockchains. How to use Exampl

larry 5 Jun 29, 2023
Like a thread pool, but for signing and broadcasting transactions

ethers-signer-pool This library provides a utility built on top of the ethers crate. The purpose of the utility is to provide a pool of signers (walle

Shaurya Arora 3 Aug 14, 2023
Key derivation and cryptographic signing functionality for Ethereum applications (ethers-rs)

ethers-signer-factory ethers-signer-factory is a Rust crate that provides functions for key derivation and signing of Ethereum transactions and messag

Ilia 3 Sep 27, 2023
A fast and secure multi protocol honeypot.

Medusa A fast and secure multi protocol honeypot that can mimic realistic devices running ssh, telnet, http, https or any other tcp and udp servers. W

Simone Margaritelli 268 Dec 26, 2022
An encrypted multi client messaging system written in pure Rust

?? Preamble This is a pure Rust multi-client encrypted messaging system, also known as Edode's Secured Messaging System. It is an end-to-end(s) commun

Edode 3 Sep 16, 2022
Single and multi-threaded custom ingestion crate for Stellar Futurenet, written in Rust.

rs-ingest Ingestion library written in rust for Futurenet rs-ingest Ingestion library written in rust for Futurenet Features Running offline Single-th

Xycloo Labs 3 Aug 14, 2023