鯉門 Hackou 銀河

完整規則

這一頁列出鯉門(KOI GATE)的全部機制和數字。每個數字旁邊都標了合約裡的函式或常數名稱,可以在 BscScan 的「Read Contract」自己查。合約部署後,本頁會逐項從鏈上讀取並核對,核對過的數字後面會出現 ✓。

合約沒有 owner、沒有管理員、不能升級。部署後沒有任何人能改價格、機率、產出或稅率,包括 Hackou 自己。

治理與時間

項目數值合約
管理權限無三個合約都沒有 owner/admin 函式
部署時間(起算點)部署當下KoiGate.DEPLOYED_AT()
放苗期結束部署後 72 小時KoiGate.SALE_END()
「48 小時」龍門開條件生效部署後 48 小時KoiGate.STALL_AT()
賽季結束(產出停止)部署後 14 天KoiGate.EMIT_END()

所有時間都是「部署當下+時長」,沒有寫死的時刻。「第 N 天」指部署後的第 N 個 24 小時(dayIndex() 從 0 起算)。

放苗(Gen0)

項目數值合約
總量6,666 尾MAX_FRY()
每段數量1,111 尾TIER_SIZE()
第 1 段(第 1–1,111 尾)0.004 BNBpriceAt(0)
第 2 段(1,112–2,222)0.006 BNBpriceAt(1111)
第 3 段(2,223–3,333)0.008 BNBpriceAt(2222)
第 4 段(3,334–4,444)0.010 BNBpriceAt(3333)
第 5 段(4,445–5,555)0.012 BNBpriceAt(4444)
第 6 段(5,556–6,666)0.014 BNBpriceAt(5555)
每錢包上限10 尾MAX_PER_WALLET()
每筆數量最多 10 尾(每筆 1–10)MAX_PER_TX()
Agent ID 閘門要持有AGENT_REGISTRY() = 0x60B9…022F 的 balanceOf ≥ 1;hasAgentId(錢包)

錢的去向

每筆 Gen0 付款比例合約
團隊份額(含推薦)20%TEAM_BPS() → teamOwed
其中付給推薦人5%REF_BPS()(有有效推薦人時)
龍門開之前:交易池準備金80%reserve()
龍門開之後:回購燒毀80%pendingBuyback() → buyback()

孵化

項目數值合約
種子請求區塊+2 的雜湊(第 3 個區塊起可結算)SEED_DELAY() = 2
舊區塊雜湊來源BNB Chain 的 EIP-2935 系統合約HISTORY();讀不到時當作過期
可結算窗口8,190 個區塊(約一小時)SEED_WINDOW();256 個區塊內用 BLOCKHASH,之後用 EIP-2935 系統合約
孵成龍的機率(每尾)10%DRAGON_PCT()
龍的等級(孵成龍時)青 45%・赤 30%・金 20%・玄 5%原始碼 _hatch();種類、等級、花色、侍魚各用一個獨立的雜湊(_draw)
錦鯉花色8 種,各 1/8,只影響外觀原始碼 _hatch()、KoiRenderer
超過窗口沒人結算整批都是錦鯉,沒有侍魚_seed() 回傳 0 → defaulted

鯉珠產出

項目數值合約
第 1 天鯉池結珠10,000,000DAY1_YIELD()
之後每天減半scheduledYield(t)、dailyYield()
賽季長度14 天SEASON_DAYS()
14 天合計上限約 19,998,779scheduledYield(EMIT_END)

躍龍門

項目數值合約
沒躍過的機率(平常)20%LEAP_FAIL_BPS()
躍過時你拿到80%LEAP_KEEP_BPS();其餘 20% 歸龍
沒躍過時一半被浪捲走、一半歸龍settleLeaps();捲走的部分永遠不會鑄造(pearlsWashed)
一次最多50 尾MAX_LEAP_IDS()
超過窗口沒人結算算沒躍過result = 3;一半捲走、一半歸龍

颱風夜

項目數值合約
哪一天部署後第 7 天(dayIndex = 6)TYPHOON_DAY() = 6
沒躍過的機率35%TYPHOON_FAIL_BPS()

以送出 leap() 那個區塊的時間判斷是不是颱風夜。颱風夜送出的躍龍門,沒躍過的機率是 35%;其他天都是 20%。leapOdds() 回傳現在送出會用的機率。

龍與侍魚

龍孵成龍時的機率收成權重
青龍45%1
赤龍30%2
金龍20%4
玄龍5%8

浪

項目數值合約
每一道浪666 尾WAVE_SIZE()
浪頭獎基數50,000 KOINWAVE_BASE()
倍數0.5–4 倍距上一道浪的小時數 × 1,夾在 WAVE_MULT_MIN_BPS 和 WAVE_MULT_MAX_BPS 之間
浪頭獎總額上限2,000,000 KOINWAVE_POOL();發完為止

讓售出數跨過 666 的倍數的那一筆放苗,拿到這一道浪的浪頭獎(記在 owed,龍門開後領)。第一道浪從部署起算時間。nextWaveReward() 回傳如果現在掀起下一道浪,獎是多少。

龍門開

條件(任一成立)數值合約
第 2 道浪賣到 1,332 尾GATE_WAVE() × WAVE_SIZE()
部署 48 小時後已賣 ≥ 100 尾STALL_AT()、STALL_MIN_SOLD()
放苗期結束後已賣 ≥ 1 尾SALE_END()
放進交易池的 KOIN20,000,000POOL_SEED()
觸發者賞金20,000 KOINGATE_BOUNTY()
  1. 任何人呼叫 openGate();canOpenGate() 回傳現在能不能開。
  2. 合約先把 PancakeSwap KOIN/WBNB 交易池(部署時就建立,PAIR())裡多出來的 WBNB 收回,一起放進交易池。
  3. 把準備金 reserve()(龍門開之前每筆放苗款的 80%)全部換成 WBNB 放進交易池,再鑄 2,000 萬 KOIN 放進交易池。
  4. 交易池(LP 送進 0xdead):LP 代幣直接鑄造到 0x000000000000000000000000000000000000dEaD,永久銷毀,沒有人能撤出流動性。
  5. 龍門開時的價格 = 交易池裡的 WBNB ÷ 2,000 萬 KOIN。

龍門開之前 KOIN 不能轉帳(只有遊戲合約能鑄造),所以沒有人能先在交易池裡放 KOIN。完全沒有賣出時,龍門不會開。

KOIN 總量與分配

用途數量合約
總量上限基本額度加龍門禮總額(看鏈上)Koin.CAP() = 43,000,000 + Q3_PER_SURVIVOR() × Q3_MAX_IDS();只有 KoiGate 能鑄造
交易池20,000,000POOL_SEED()
鯉珠產出(14 天)≤ 20,000,000(排程合計約 19,998,779)DAY1_YIELD()、SEASON_DAYS();沒躍過被捲走的部分不鑄造
浪頭獎≤ 2,000,000WAVE_POOL()
結算賞金≤ 1,000,000BOUNTY_POOL()
龍門禮每艙 Q3_PER_SURVIVOR() × 最多 Q3_MAX_IDS() 艙見「龍門禮」
團隊預分配0沒有任何預鑄或保留

KOIN 只在這些時候鑄造:龍門開(放進交易池)、claim()(躍過的鯉珠、浪頭獎、結算賞金)、claimDragons() 的歸龍鯉珠部分、claimQ3()(龍門禮)。燒毀發生在:回購燒毀、第二代放苗、賣出稅 1%、沒有龍時歸龍的稅。

買賣稅

項目比例合約
買(從龍門開的交易池買入)2%BUY_TAX_BPS():龍 1%、團隊 1%
賣(賣進龍門開的交易池)3%SELL_TAX_BPS():燒毀 1%、龍 1%、團隊 1%
其中歸龍1%DRAGON_TAX_BPS()
其中給團隊1%TEAM_TAX_BPS(),轉到 PAYEE()
賣出時燒毀1%BURN_TAX_BPS()

只對龍門開的交易池 Koin.pair() 的買賣收稅;錢包之間轉帳、遊戲合約自己的回購都不收。稅率是常數,不能改。在 PancakeSwap 交易時滑點要設 4% 以上。

回購燒毀

第二代放苗(Gen1)

項目數值合約
開放時間龍門開 24 小時後到賽季結束GEN1_DELAY()、EMIT_END();gen1Open()
價格30,000 KOIN 起GEN1_BASE();每 100 尾漲 10%(gen1PriceAt(i))
上限3,333 尾GEN1_MAX()

mintGen1(n) 燒掉你的 KOIN(要先 approve 給遊戲合約),一次 1–10 尾,不需要 Agent ID。孵化規則和第一代一樣(10% 龍、侍魚規則相同)。

結算賞金

項目數值合約
每孵化一尾60 KOINHATCH_BOUNTY()
每結算一次躍龍門該次鯉珠的 1%LEAP_BOUNTY_BPS();過期算沒躍過的也算
開龍門20,000 KOINGATE_BOUNTY()
賞金池1,000,000 KOINBOUNTY_POOL();以上三項全部發滿最多約 82 萬,用不完

結算賞金記在呼叫者的 owed,龍門開後用 claim() 領。Hackou 的結算 bot 也照同樣規則領結算賞金。

推薦

團隊

龍門禮

冷眠方舟順著銀河開到龍門。靠岸的艙,每艙可以領一份 KOIN,叫龍門禮。有沒有龍門禮、每艙多少、最多幾艙,都在部署時寫死;下表顯示這一份合約鏈上的值,每艙是 0 就表示這一份合約沒有龍門禮,claimQ3 會被拒絕。

項目數值合約
冷眠方舟合約部署時寫死(看鏈上)Q3(),部署時寫死
每艙龍門禮部署時寫死(看鏈上)Q3_PER_SURVIVOR()
最多幾艙部署時寫死(看鏈上)Q3_MAX_IDS();領滿 Q3_MAX_IDS() 艙就停

二級市場與風險

鯉珠和龍的收成記在代幣編號上,跟著 NFT 轉手。在市場上買魚時,以交易上鏈當下為準:賣家如果在成交前躍龍門或領收成,買到的就是剩下的部分。

孵化和躍龍門的結果來自區塊雜湊。區塊雜湊由 BNB Chain 的出塊者產生,理論上出塊者可以影響結果;一批最多 10 尾、一次躍龍門最多 50 尾,價值很小,沒有另外防範。

回購燒毀用的是交易池自己的平均價。有人長時間把價格拉高、又沒有人賣的時候,回購會跟著用比較高的價格買,拉價的人賣出時可以從中得利;影響只限龍門開之後放苗款的 80%,不影響團隊份額以外的規則。

KOIN 的價格由市場決定。不預測價格,也不保證任何收益。放苗付出的 BNB 不能退回。躍龍門有機率沒躍過,沒躍過的鯉珠一半被浪捲走。

會有第二季嗎?銀河很長。這是第一艘方舟,也是第一道門。目前沒有日期,也沒有任何承諾。

函式一覽

函式誰能呼叫做什麼
mintFry(n)/mintFry(n, ref)/mint(n)持有 Agent ID 的錢包付 BNB 放苗
settle(max)任何人孵化最舊的 max 批
leap(ids)錦鯉持有人帶鯉珠去躍龍門
settleLeaps(max)任何人依序結算最舊的 max 次躍龍門
settleLeapIds(ids)任何人只結算指定的躍龍門(一次最多 50 筆)
openGate()任何人(條件成立時)龍門開:放進交易池、LP 銷毀
claim()任何人領自己的龍門開後把 owed 鑄造成 KOIN
claimDragons(ids)龍的主人龍門開後領收成
buyback()任何人推進回購燒毀(每 5 分鐘最多一次)
mintGen1(n)任何人燒 KOIN 第二代放苗
withdrawTeam()任何人龍門開後把團隊份額轉到 PAYEE
withdrawRef()推薦人領轉帳失敗的推薦款
claimQ3(ids)任何人替靠岸的艙領龍門禮

查詢:pondState()、quote(n)、canMint(錢包)、tierNow()、remainingInTier()、waveProgress()、nextWaveReward()、dailyYield()、dailyYieldPerKoi()、nextHalvingAt()、leapOdds()、pendingPearls(id)、pendingDragon(id)、owed(錢包)、queues()。