尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Onchain futures for renting assets
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗A decentralized real estate booking platform with auction-based pricing and daily sub-vault system for flexible property rentals.
Auktrafi enables property owners to tokenize their real estate as vaults and allow users to book individual days through a competitive auction system. Each property can be divided into daily sub-vaults, creating a flexible, market-driven pricing mechanism.
The platform uses a daily sub-vault architecture where each night is an independent booking unit:
Availability Management
Withdraw Earnings
Factory: 0x8d0A0Ff1516ff56b36f55D0348D58A63b2751E91
PYUSD: 0xCaC524BcA292aaade2DF8A05cC58F0a65B1B3bB9
Factory: 0xBdB8AcD5c9feA0C7bC5D3ec5F99E2C198526a58F
PYUSD: 0x637A1259C6afd7E3AdF63993cA7E58BB438aB1B1
DigitalHouseFactory (Factory Contract)
├── createVault(vaultId, details, nightlyPrice, address, masterCode)
├── setNightAvailability(vaultId, nightDate, isAvailable) 🆕
├── setAvailabilityWindow(vaultId, start, end, count, isAvail) 🆕
├── getOrCreateDailyVault(vaultId, dayTimestamp, masterCode)
├── createMultiDayReservation(vaultId, dayTimestamps[], masterCode)
└── getDailySubVaultsInfo(parentVaultId)
DigitalHouseVault (Parent Vault)
├── dailyBasePrice (nightly rate)
├── getMasterAccessCode()
├── withdrawEarnings() 🆕
├── cedeReservation(bidIndex)
└── Daily Sub-Vaults (children)
├── Individual night bookings
├── State: FREE → AUCTION → SETTLED
└── Access codes per booking
src/
├── app/
│ ├── page.tsx # Landing page with Privy auth
│ ├── marketplace/
│ │ ├── page.tsx # Browse all properties
│ │ └── [vaultId]/page.tsx # Property details + daily calendar
│ ├── ownerships/page.tsx # Owner dashboard
│ ├── reservations/page.tsx # User bookings
│ └── profile/page.tsx # Wallet & balances
├── components/
│ ├── calendar/
│ │ ├── DailySubVaultsCalendar.tsx # Interactive monthly calendar
│ │ ├── DayCell.tsx # Individual day cells
│ │ └── ActiveDailyBookings.tsx # Booking list with filters
│ ├── vault/
│ │ ├── DailyBookingFlow.tsx # 5-step booking process
│ │ ├── VaultCard.tsx # Property card with stats
│ │ ├── OwnerVaultCard.tsx # Owner property card (+ withdraw, availability)
│ │ ├── ReservationCard.tsx # User reservation card
│ │ ├── AuctionFlow.tsx # Auction bidding interface
│ │ └── CreateVault.tsx # Create new property
│ ├── owner/
│ │ └── AvailabilityManager.tsx # 🆕 Block/open nights management
│ ├── Layout.tsx # Persistent navbar + footer
│ ├── WalletConnect.tsx # Connect/disconnect wallet
│ ├── NetworkSwitcher.tsx # Chain selector
│ └── ui/ # Reusable UI components
├── hooks/
│ ├── useDailySubVaults.ts # Fetch daily sub-vaults
│ ├── useDailyVaultActions.ts # Create bookings
│ ├── useMasterAccessCode.ts # Fetch master code
│ ├── useAvailabilityManagement.ts # 🆕 Owner availability control
│ ├── useDigitalHouseFactory.ts # Factory contract interactions
│ ├── useDigitalHouseVault.ts # Vault contract interactions (+ withdrawEarnings)
│ ├── useAccessCodes.ts # Access code management
│ ├── useVaultInfo.ts # Vault metadata
│ ├── useReservation.ts # Reservation data
│ ├── useAuction.ts # Auction data
│ └── usePYUSDApproval.ts # Token approvals
├── config/
│ └── wagmi.ts # Chain config + contract addresses
└── providers/
└── PrivyProvider.tsx # Privy auth config
# Clone the repository
git clone <repository-url>
cd digitalhouse-frontend
# Install dependencies
npm install
# Set up environment variables
cp env.example .env.local
# Add your Privy App ID and RPC URLs to .env.local
NEXT_PUBLIC_PRIVY_APP_ID=your_privy_app_id_here
NEXT_PUBLIC_ALCHEMY_API_KEY=your_alchemy_key_here
# Run development server
npm run dev
The application is configured for Vercel deployment:
# Build for production
npm run build
# Deploy to Vercel
vercel deploy --prod
After deploying, update your Privy dashboard:
0xBdB8AcD5c9feA0C7bC5D3ec5F99E2C198526a58F0xC3f3B1192E938A22a79149bbFc6d8218B1bC01170xCaC524BcA292aaade2DF8A05cC58F0a65B1B3bB90x637A1259C6afd7E3AdF63993cA7E58BB438aB1B10x6c3ea9036406852006290770BEdFcAbA0e23A0e8Each day goes through these states:
No Sub-Vault (⚪)
↓ User books
FREE (🟢)
↓ Someone else bids higher
AUCTION (🟡)
↓ Auction ends (24h before check-in)
SETTLED (🔴)
↓ After check-out
Released (back to available)
Interactive calendar showing real-time availability:
| Route | Description | Auth Required |
|---|---|---|
/ | Landing page with "Go to App" button | No |
/marketplace | Browse all properties | Yes |
/marketplace/[vaultId] | Property details + booking | Yes |
/ownerships | Owner dashboard | Yes |
/reservations | User bookings | Yes |
/profile | Wallet, balances, funding | Yes |
# Run linter
npm run lint
# Type checking
npm run build
# Run in development
npm run dev
This is a production application. All changes should:
MIT
Built with ❤️ using Next.js, Privy, Wagmi, and PYUSD