Demo: dolpguild.osmannyildiz.cc
Team: Batuhan BayazΔ±t github: https://github.com/Batuhan4 telegram: @batuhan4
Muhammed AkΔ±ncΔ±
github: https://github.com/MuhammedAkinci
telegram name : @makinci77
Mehmet Berat GΓΌngΓΆrdΓΌ
github: https://github.com/Expiyon
telegram name : @Expitonn
Osman Nuri YΔ±ldΔ±z Github : https://github.com/osmannyildiz telegram name: @osmannyildiz
Blockchain: Sui Network Language: Move Type: Decentralized Professional Network with Pod-Based Communities
Next.js frontend is available in the frontend/ folder!
- π¨ Modern UI with shadcn/ui and Tailwind CSS
- π Full Sui Wallet integration (@mysten/dapp-kit)
- π Walrus CV upload/download
- π Real-time blockchain data with React Query
- π Ready to deploy on Vercel
Detailed documentation is available in the docs/ folder:
- π Complete System Overview - Full feature list and capabilities
- π Deployment V3 Info - Latest deployment details
- ποΈ Architecture - System architecture and design
- π API Reference - Function signatures and usage
- π‘ Examples - Code examples and use cases
- π Seal + Walrus Integration - Privacy features
- π Walrus Test Results - Live Walrus integration test
- β Feature Verification - Feature checklist
- π§ͺ Test Results - Test coverage and results
Status: β LIVE ON TESTNET Version: 4.0 (Shared Objects Fix + Full Hiring System)
- Package ID:
0x5e2aa3dedd48e8241bf9a14717668b42cfad18d0cc042b977e42cb9abd3747c0 - Transaction Hash:
9YwGg1DvyknNoT2Yx9B8q122u4Moiez5BCjyfS3VJBts - Network: Sui Testnet
- Deployed: 2025-11-22
- Modules:
dolphguild,employment_badge,escrow,reputation,admin,featured,dynamic_applications
- β Shared Object Architecture: JobPosting and ReputationProfile are now shared objects
- β Full Hiring System: Complete hire workflow with automatic NFT badge minting
- β Multi-User Access: Candidates can apply to jobs, employers can hire from any wallet
- β Reputation Profiles: Shared reputation system accessible by all users
- GlobalRegistry:
0xafe8cfa06240263b7869fe66de7e0896c440726981b3b127b1111ecf13007c7b- Platform-wide registry for pods and jobs
- BadgeRegistry:
0x128063197e15102462a812d632bdf40b95482fcdb871eea85b9bce9620e1c6cc- Registry for employment badges
- VersionRegistry:
0xb505652ce5b9ae65c3a9f9deaa27e66dfa2ac75351134e1e16369d7e7c91aa5c- Contract version management
- FeaturedJobRegistry:
0xb9662b9a96d9027c20bc733966311d2410765cff00fb75a58c1f5fe68ed315b8- Featured jobs and lottery system
- π¦ View Package on SuiVision
- π Deployment Transaction
- π GlobalRegistry Object
- π BadgeRegistry Object
# Set package ID as environment variable
export PACKAGE_ID=0x5e2aa3dedd48e8241bf9a14717668b42cfad18d0cc042b977e42cb9abd3747c0
export GLOBAL_REGISTRY=0xafe8cfa06240263b7869fe66de7e0896c440726981b3b127b1111ecf13007c7b
export BADGE_REGISTRY=0x128063197e15102462a812d632bdf40b95482fcdb871eea85b9bce9620e1c6cc
export VERSION_REGISTRY=0xb505652ce5b9ae65c3a9f9deaa27e66dfa2ac75351134e1e16369d7e7c91aa5c
export FEATURED_REGISTRY=0xb9662b9a96d9027c20bc733966311d2410765cff00fb75a58c1f5fe68ed315b8
# Create a pod
sui client call \
--package $PACKAGE_ID \
--module dolphguild \
--function create_pod \
--args $GLOBAL_REGISTRY "Tech Innovators" "Blockchain developers" 0x6
# Post a job
sui client call \
--package $PACKAGE_ID \
--module dolphguild \
--function post_job \
--args $GLOBAL_REGISTRY <POD_ID> "Senior Move Developer" \
"We need an experienced Move developer" "Move,Rust,Blockchain" \
0 100000 true 1735000000 true 0x6DolpGuild is an innovative blockchain-based professional network that organizes talent into specialized "pods" inspired by dolphin communities. The platform enables trustless hiring, reputation building, and milestone-based payments through Sui smart contracts.
β Pod-Based Communities - Professionals organize into specialized groups (Developer Pod, Designer Pod, etc.) β Smart Contract Hiring - Transparent, on-chain job postings and applications β Reputation System - Two-sided ratings for employers and candidates with achievement badges β Employment Badge NFTs - Soulbound credentials for verified work history β Smart Escrow - Milestone-based payments for freelance projects β Privacy-Preserving - ACTIVE Seal-encrypted CV storage with access control β Decentralized Storage - ACTIVE Walrus integration for encrypted document storage
DolpGuild/
βββ sources/
β βββ dolphguild.move # Main module with core functionality
β βββ reputation.move # Two-sided rating system
β βββ employment_badge.move # Soulbound NFT credentials
β βββ escrow.move # Milestone-based payment system
βββ tests/
β βββ dolphguild_tests.move # Comprehensive test suite
βββ Move.toml # Package configuration
βββ README.md
- Vector Usage - Application storage, job collections, skill lists
- Option Usage - Optional salary, deadlines, hired candidates
- Shared Objects - GlobalRegistry accessible by all users
- Events - Complete event system for all major actions
- Access Control - Role-based permissions for hiring and management
- Display Object - NFT-like visualization for jobs and badges
- Clock Object - Timestamps, deadlines, time-based filtering
- Dynamic Fields - Ready for unlimited scalability (can replace vectors)
- Walrus Integration - CV and document storage support
- Random Object - Ready for featured job selection
- Seal Integration - β ACTIVE Privacy-preserving encrypted CV storage with access control
- Employment Badge NFT - Soulbound credentials with Display Object
- Reputation System - Two-sided ratings with achievement badges
- Smart Escrow - Milestone-based payments with automatic releases
Core Structs:
GlobalRegistry- Shared object tracking platform statisticsPod- Professional community with members and reputationJobPosting- Job listings with applications and hiring statusApplication- Candidate applications with encrypted CV (Seal + Walrus)
Key Functions:
create_pod()- Create professional communitiesjoin_pod()- Join existing podspost_job()- Create job postings with optional salary/deadlinesubmit_application()- Apply to jobs with Seal-encrypted CV stored on Walrushire_candidate()- Hire with access controlclose_job()- Close job postingsget_encrypted_cv_blob_id()- NEW Access encrypted CV (employer/candidate only)get_cv_blob_id()- NEW Access regular CV (employer/candidate only)
Features:
- Employer ratings (by candidates)
- Candidate ratings (by employers)
- Achievement badges (Top Employer, Rising Star, Fast Responder, Early Adopter)
- Behavioral metrics tracking
Badge Types:
- π Top Employer - 4.5+ rating, 10+ hires
- β Rising Star - 4.5+ rating, 3+ jobs completed
- β‘ Fast Responder - <24h average response time
- π Early Adopter - First 1000 users
Soulbound NFT Credentials:
- Non-transferable employment verification
- Company branding with logos
- Display Object integration for beautiful visualization
- Permanent on-chain work history
- Revocable by employer (marks inactive, doesn't delete)
Milestone-Based Payments:
- Employer stakes total payment upfront
- Funds held in smart contract escrow
- Freelancer completes milestones
- Employer releases payments per milestone
- Automatic refunds on cancellation
Milestone Workflow:
1. Create contract β Funds escrowed
2. Freelancer completes milestone
3. Employer verifies and releases payment
4. Repeat until project complete
5. Contract automatically closes when all milestones paid
The project includes comprehensive tests covering:
β Pod Creation & Management
- Create pods with metadata
- Join pods and track membership
- Reputation tracking
β Job Posting Workflow
- Post jobs with optional fields (Option)
- Vector storage for applications
- Shared object access
β Application System
- Submit applications with Seal-encrypted CV stored on Walrus
- Track application count
- Deadline validation
- Privacy-preserving CV access control
β Hiring Process
- Successful hiring flow
- Access control enforcement
- Status updates and events
β Access Control
- Unauthorized hire attempts (expected failure)
- Role-based permissions
# Run all tests
sui move test
# Run specific test
sui move test test_create_pod
# Run with verbose output
sui move test --verbose- Install Sui CLI: https://docs.sui.io/build/install
- Create Sui wallet:
sui client new-address ed25519 - Get testnet SUI: https://discord.com/channels/916379725201563759/971488439931392130
# Build the package
sui move build
# Run tests
sui move test
# Deploy to testnet
sui client publish --gas-budget 100000000
# Deploy to mainnet
sui client publish --gas-budget 100000000 --network mainnetAfter deployment, you'll receive:
- Package ID
- Module addresses
- Shared object IDs (GlobalRegistry)
Save these for frontend integration.
Employer β create_pod() β Pod Created
β
Employer β post_job() β JobPosting Created (Shared)
β
Candidate β Encrypt CV with Seal β Upload to Walrus β Get blob_id
β
Candidate β submit_application(encrypted_cv_blob_id) β Application Created
β
Employer β get_encrypted_cv_blob_id() β Download from Walrus β Decrypt with Seal
β
Employer β hire_candidate() β Job Filled + Badge Issued
β
Both β submit_rating() β Reputation Updated
Employer β create_contract() β Funds Escrowed
β
Freelancer β complete_milestone() β Milestone Marked Complete
β
Employer β release_payment() β Payment Released
β
Repeat until all milestones paid β Contract Complete
- Access Control - Only authorized users can perform sensitive actions
- Soulbound NFTs - Employment badges cannot be transferred
- Escrow Protection - Funds locked until milestone completion
- Event Transparency - All actions emit events for auditability
- Privacy Protection - β ACTIVE Seal-encrypted CVs with access control (only employer & candidate)
- Decentralized Storage - β ACTIVE Walrus integration for encrypted document storage
The platform uses ocean/dolphin metaphors throughout:
- Pods - Professional communities (like dolphin pods)
- DolpGuild - Guild of dolphins (professionals)
- Ecosystem Flow - Natural collaboration patterns
- Deep-Sea Privacy - Encrypted data with Seal
- Tide Economics - Sustainable, low-cost model
- Candidate Side - CV Upload:
# 1. Encrypt CV with Seal
seal encrypt cv.pdf --output encrypted_cv.seal
# 2. Upload to Walrus
walrus upload encrypted_cv.seal
# Returns: blob_id = "seal_encrypted_walrus_blob_xyz123"
# 3. Submit application with encrypted blob ID
sui client call \
--package <PACKAGE_ID> \
--module dolphguild \
--function submit_application \
--args <REGISTRY_ID> <JOB_ID> <POD_ID> \
"I'm perfect for this role!" \
"" false \
"" false \
"seal_encrypted_walrus_blob_xyz123" true \
<CLOCK_ID>- Employer Side - CV Access:
# 1. Get encrypted CV blob ID (access control enforced)
sui client call \
--package <PACKAGE_ID> \
--module dolphguild \
--function get_encrypted_cv_blob_id \
--args <APPLICATION_ID> <JOB_ID>
# Returns: "seal_encrypted_walrus_blob_xyz123"
# 2. Download from Walrus
walrus download seal_encrypted_walrus_blob_xyz123 --output encrypted_cv.seal
# 3. Decrypt with Seal
seal decrypt encrypted_cv.seal --output cv.pdfβ End-to-End Encryption - CV encrypted with Seal before upload β Access Control - Only employer and candidate can access β Decentralized Storage - Stored on Walrus (no central server) β On-Chain Verification - Blob IDs stored on Sui blockchain β No Plaintext - CV never stored unencrypted
- Walrus file upload integration β DONE
- Seal encryption for CVs β DONE
- Dynamic Fields for unlimited scalability
- Random featured job selection
- Advanced search and filtering
- Pod governance mechanisms
- Staking for premium features
- Cross-pod collaboration tools
Package ID: 0x5e2aa3dedd48e8241bf9a14717668b42cfad18d0cc042b977e42cb9abd3747c0
Shared Objects:
- GlobalRegistry:
0xafe8cfa06240263b7869fe66de7e0896c440726981b3b127b1111ecf13007c7b - BadgeRegistry:
0x128063197e15102462a812d632bdf40b95482fcdb871eea85b9bce9620e1c6cc - VersionRegistry:
0xb505652ce5b9ae65c3a9f9deaa27e66dfa2ac75351134e1e16369d7e7c91aa5c - FeaturedJobRegistry:
0xb9662b9a96d9027c20bc733966311d2410765cff00fb75a58c1f5fe68ed315b8
Transaction: 9YwGg1DvyknNoT2Yx9B8q122u4Moiez5BCjyfS3VJBts
Explorer Links:
- Package: https://testnet.suivision.xyz/package/0x5e2aa3dedd48e8241bf9a14717668b42cfad18d0cc042b977e42cb9abd3747c0
- Transaction: https://testnet.suivision.xyz/txblock/9YwGg1DvyknNoT2Yx9B8q122u4Moiez5BCjyfS3VJBts
- GlobalRegistry: https://testnet.suivision.xyz/object/0xafe8cfa06240263b7869fe66de7e0896c440726981b3b127b1111ecf13007c7b
- BadgeRegistry: https://testnet.suivision.xyz/object/0x128063197e15102462a812d632bdf40b95482fcdb871eea85b9bce9620e1c6cc
Deployment Cost: ~0.5 SUI
# Example: Create a pod
sui client call \
--package 0x5e2aa3dedd48e8241bf9a14717668b42cfad18d0cc042b977e42cb9abd3747c0 \
--module dolphguild \
--function create_pod \
--args 0xafe8cfa06240263b7869fe66de7e0896c440726981b3b127b1111ecf13007c7b \
"My Pod" "Description" 0x6
# Example: Post a job
sui client call \
--package 0x5e2aa3dedd48e8241bf9a14717668b42cfad18d0cc042b977e42cb9abd3747c0 \
--module dolphguild \
--function post_job \
--args 0xafe8cfa06240263b7869fe66de7e0896c440726981b3b127b1111ecf13007c7b \
<POD_ID> "Job Title" "Description" "Skills" 0 \
100000 true 1735000000 true 0x6
# Example: Submit application with encrypted CV
sui client call \
--package 0x5e2aa3dedd48e8241bf9a14717668b42cfad18d0cc042b977e42cb9abd3747c0 \
--module dolphguild \
--function submit_application \
--args 0xafe8cfa06240263b7869fe66de7e0896c440726981b3b127b1111ecf13007c7b \
<JOB_ID> <POD_ID> "Cover letter" "" false "" false \
"seal_encrypted_walrus_blob_id" true 0x6MIT License - See LICENSE file for details
This is a hackathon project. Contributions welcome!
Built with π¬ for the Sui Ecosystem Deployed on Sui Testnet β