TrusteDesign adalah platform Digital Rights Management (DRM) berbasis smart contract yang memastikan kepemilikan, lisensi, dan transaksi karya kreatif tercatat secara terverifikasi dan transparan di blockchain.
Melalui kontrak seperti WorkRegistry, DesignDRM, dan EscrowSale, TrusteDesign memungkinkan kreator untuk:
- Mendaftarkan karya dengan bukti kepemilikan on-chain.
- Melakukan jual-beli dengan sistem escrow dan proof-of-delivery otomatis.
- Melacak histori lisensi dan kepemilikan tanpa bergantung pada platform sentral.
Proyek ini bertujuan menjadi infrastruktur kepercayaan bagi ekosistem ekonomi kreatif digital — memastikan keadilan bagi desainer, transparansi bagi pembeli, dan keamanan bagi seluruh transaksi kreatif.
trustedesign/
├── contracts/ # Smart contracts
│ ├── WorkRegistry.sol
│ ├── DesignDRM.sol
│ └── EscrowSale.sol
├── frontend/ # Next.js frontend
│ ├── app/
│ │ ├── components/
│ │ ├── pages/
│ │ └── styles/
│ ├── public/
│ ├── package.json
│ └── tsconfig.json
├── backend/ # Optional backend API / services
│ ├── prisma/
│ ├── src/
│ └── package.json
├── docker/ # Docker configurations
│ ├── Dockerfile
│ └── docker-compose.yml
├── scripts/ # Deployment / helper scripts
│ └── deploy.ts
├── tests/ # Testing scripts
│ └── contracts/
├── .env # Environment variables
├── pnpm-lock.yaml
├── README.md
└── tsconfig.json
NEXT_PUBLIC_WALLETCONNECT_PROJECT_ID=
# Postgres
POSTGRES_USER=
POSTGRES_PASSWORD=
POSTGRES_DB=
# Rindexer
DATABASE_URL=
PROJECT_PATH=
# Anvil
ANVIL_STATE_PATH=
ANVIL_BLOCK_TIME=
Konfigurasi kontrak per environment:
const CONFIGS: Record<AppEnv, ContractsConfig> = {
local: {
[foundry.id]: {
designDrm: "0x700b6A60ce7EaaEA56F065753d8dcB9653dbAD35",
},
},
production: {
[sepolia.id]: {
designDrm: "0x8Cba2e52d2F8CF0b1bDc65C072360828243C0f8d",
},
},
}
Jalankan perintah berikut di terminal:
pnpm install --frozen-lockfile
docker compose up -d
pnpm dev