Preskoči na sadržaj
Showcase projektBlockchain & Web3
  • 223 testova
  • 100% pokrivenost
  • Slither-analizirano

Milestone Escrow

Escrow po koracima za freelance i agencijski rad — u ETH ili bilo kojem standardnom ERC-20

Solidity 0.8.28OpenZeppelin v5ETH / ERC-20Foundry

Šta je

MilestoneEscrow je jedan on-chain escrow ugovor koji drži bilo koji broj nezavisnih poslova. Klijent finansira cijeli budžet pri kreiranju posla, podijeljen na do 50 koraka, tako da freelancer vidi da je novac tu prije početka rada.

Sredstva se kreću samo kada klijent oslobodi korak, kada neutralni arbitar riješi spor dijeleći neoslobođena sredstva u baznim poenima, ili kada se posao otkaže i klijentu se vrati novac. Mala protokolska naknada (ograničena na 5% i fiksirana po poslu) odbija se od isplata freelanceru; na povrate se naknada nikada ne obračunava.

Poslovni problem

Rad na daljinu između strana koje se ne poznaju nailazi na jaz povjerenja: klijenti ne žele platiti unaprijed, freelanceri ne žele isporučiti prije nego budu plaćeni. Platforme zatvaraju taj jaz, ali naplaćuju značajne naknade, mogu zamrznuti račune i odlučuju sporove na način koji strane ne vide.

Kako radi

  1. 1

    Kreiranje: klijent poziva createJob(freelancer, arbiter, token, amounts[]) i finansira puni iznos u ETH ili ERC-20. Trenutna naknada se fiksira u posao.

  2. 2

    Isporuka: freelancer poziva requestRelease(jobId, i) da signalizira da je korak i završen.

  3. 3

    Oslobađanje: klijent poziva releaseMilestone(jobId, i). Freelancer dobija iznos umanjen za naknadu; kada su svi koraci oslobođeni, posao je završen.

  4. 4

    Spor (opcionalno): bilo koja strana otvara spor, koji zamrzava posao. Arbitar dijeli svaki neoslobođeni korak između freelancera i klijenta u baznim poenima.

  5. 5

    Otkazivanje (opcionalno): klijent može otkazati uz puni povrat prije nego je ijedan rad zatražen ili oslobođen; arbitar može otkazati dok je posao otvoren.

Sigurnosne mjere

  • nonReentrant na svakoj funkciji koja pomjera sredstva; stanje se finalizira prije vanjskih poziva (checks-effects-interactions)
  • ETH isplate otporne na griefing: neuspjeli push-uplate se knjiže za kasnije podizanje
  • Tokeni s naknadom na transfer odbijaju se provjerom bilance prije/poslije
  • Ograničenje naknade (5%) i fiksiranje naknade po poslu: vlasnik ne može podići naknadu na finansiranim poslovima
  • Ograničene petlje (maks. 50 koraka) i tri različite uloge
  • Ownable2Step; administrator nikada ne može dirati sredstva poslova
  • Solventnost testirana fuzzingom: bilanca ugovora jednaka zbiru neoslobođenih koraka

Značajke

  • Bilo koji broj poslova u jednom ugovoru
  • Finansiranje u ETH ili ERC-20
  • Do 50 koraka po poslu
  • Zahtjevi za oslobađanje i sporovi s podjelom arbitra u baznim poenima
  • Otkazivanje i povrat
  • Fiksiranje protokolske naknade, ograničeno na 5%

Tipični slučajevi upotrebe

  • Freelance marketplace-i i agencijske platforme s nekustodijalnim plaćanjima
  • B2B ugovori o uslugama s naplatom po koracima
  • Grant programi koji isplaćuju u tranšama, s komitetom kao arbitrom

Poznata ograničenja

Arbitru se vjeruje da je neutralan; u produkciji to je multisig, DAO ili decentralizirani sud. Rebasing tokeni nisu podržani.

Ostali showcase ugovori

Showcase

Token + Vesting + Staking

Ograničeni ERC-20 s gasless odobrenjima, rasporedi vestinga s cliffom za tim i investitore i staking nagrade u stilu Synthetixa.

ERC-20EIP-2612OpenZeppelin v5

223 testova · 100% pokrivenost · Slither‑analizirano

Showcase

SigmaNFT Collection

Pravedan NFT lansman: allowlist i javne faze, limiti po walletu, nepromjenjivi maksimalni supply, ERC-2981 licencne naknade i odloženo otkrivanje.

ERC-721ERC-2981Merkle proofs

223 testova · 100% pokrivenost · Slither‑analizirano

Showcase

Gold-Backed Token (RWA)

Pokriće postaje preduvjet mintanja: tokeni se mogu mintati samo ako prijavljena zlatna rezerva pokriva novu ukupnu ponudu.

ERC-20AccessControlProof of reserve

223 testova · 100% pokrivenost · Slither‑analizirano

Standardi: Solidity 0.8.x, OpenZeppelin, Foundry testovi s fuzzingom, Slither statička analiza, verificirani izvorni kod. 223 testova · 100% pokrivenost · Slither-analizirano.

Imate projekt na umu?

Recite nam šta gradite. Senior inženjer odgovara u roku od sat vremena radnim danom — a zatim dobijate poštenu procjenu, jasan opseg i ponudu po fiksnoj cijeni ili po koracima, obično za nekoliko radnih dana.

Radije prvo pišete? Pišite nam

Razgovarat ćete direktno s Ing. Ismet Mesic, Tech lead.