Mag-mint mula sa page mo
Dalawang paraan para ibenta ang koleksyon ng KURV mula sa sarili mong page. Gumagana ang dalawa sa Base at sa Solana, at nananatiling umiiral ang bawat on-chain na bayarin, presyo at patakaran ng benta: iisang contract o program ang tumatanggap ng iisang bayad.
| Gusto mong | Gamitin |
|---|---|
| Mag-paste ng isang linya at magkaroon ng button na Mag-mint | Ang button na Mag-mint: pumipirma ang mamimili sa window ng KURV |
| Panatilihin ang mamimili sa page mo gamit ang sarili mong wallet connector | Ang client ng KURV: pumipirma ang mamimili sa pitaka niya |
Pangalanan ang network gamit ang 84532 (Base Sepolia) o solana:devnet (Solana Devnet). Nasa Mga pampublikong API ang mga address ng koleksyon.
Ang button na Mag-mint
Seksyong “Ang button na Mag-mint”<div id="mint" data-kurv-mint data-chain="84532" data-address="0x8354d02d8022f455db9acb235c6f6655c8adabd3"></div><script src="https://testnet.kurv.fun/sdk/mint-button/v1.js" async></script><script> document.getElementById('mint').addEventListener('kurv:mint', (event) => { if (event.detail.status === 'minted') console.log(event.detail.tx, event.detail.tokenIds); });</script>Isang pindot ay magbubukas ng window ng KURV. Doon pumipirma ang mamimili gamit ang account sa KURV o pitaka, at hindi kailanman nahahawakan ng page mo ang pitaka o susi. Itakda ang data-label, data-background at data-color para sa sarili mong mga salita at kulay. Kung nagpapadala ng Content-Security-Policy ang site mo, payagan ang https://testnet.kurv.fun sa script-src.
Unang bumabati ang window sa page mo, at lalabas ang pangalan ng site dito kung sasagot lang ang page mo mula sa sarili nitong origin. Pagkatapos, pinuputol nito ang ugnayan sa page mo, kaya walang anumang nasa page ang makakahawak sa window na pumipirma. Galing sa origin ng KURV ang sagot, nakikilala ito sa random na halagang binuo ng pindot na iyon, at sa origin lang ng page mo ito ipinapadala, saka inilalabas ng script ang kurv:mint sa elemento:
status | Ibig sabihin |
|---|---|
minted | Tapos na ang mint: chain, collection, tx, tokenIds, quantity. Maaari itong sumunod sa closed kapag matagal na nawala ang sign-in |
closed | Matagal nang walang bakas ng window, at walang mint. Hindi sinasabi ng KURV kung bakit |
blocked | Tumanggi ang browser na magbukas ng window. Hilingin sa mamimili na payagan ito |
Walang malalaman ang page mo tungkol sa mamimiling hindi nag-mint: hindi ang pitaka niya, hindi kung nasa allowlist siya. Ang mga page ng KURV lang ang lugar kung saan nababasa ng mamimili ang mga sagot na iyon.
Hindi nasasagot ng site na nagpapadala ng Cross-Origin-Opener-Policy: same-origin ang bati: gumagana pa rin ang mint at ang sagot, pero walang pangalan ng site na lalabas sa window. Gamitin na lang ang same-origin-allow-popups. Ituring na claim lang ang tx hanggang mabasa ito ng sarili mong server sa chain.
Ang client ng KURV
Seksyong “Ang client ng KURV”Isang ES module na walang dependency, nasa tabi nito ang mga type sa v1.d.ts. Humihingi ito sa Mga pampublikong API ng bagong quote at ng eksaktong mga tawag para sa mamimiling ito, kasama ang patunay ng allowlist, at ipinapasa ang mga iyon sa pitaka ng mamimili.
import { createKurvClient, eip1193Wallet } from 'https://testnet.kurv.fun/sdk/client/v1.js';
const kurv = createKurvClient();const [account] = await window.ethereum.request({ method: 'eth_requestAccounts' });
const result = await kurv.mint({ chain: '84532', address: '0x8354d02d8022f455db9acb235c6f6655c8adabd3', wallet: eip1193Wallet(window.ethereum, account), quantity: 1, // Show the buyer the amounts, and answer false to sign nothing. review: (plan) => confirm(`Pay at most ${plan.quote.max_total_base_units} base units?`),});Sa Solana, gumamit ng Wallet Standard na pitaka. Pumipirma lang ang KURV para sa sariling account ng bagong piraso, at pumipirma at nagbabayad ang pitaka bilang mamimili. Nasa SOL ang bayad sa network at renta ng account.
import { createKurvClient, walletStandardWallet } from 'https://testnet.kurv.fun/sdk/client/v1.js';
const kurv = createKurvClient();const result = await kurv.mint({ chain: 'solana:devnet', address: collectionAddress, wallet: walletStandardWallet(wallet, account, 'solana:devnet'),});Gagana ang anumang connector: binabalot ng evmWallet at solanaWallet ang sa iyo sa ilang linya. Hindi nakikita ng client ang susi.
Sumasagot ang kurv.prepareMint({ chain, address, wallet, quantity }) ng plano at wala itong pinipirmahan, at ang planong iyon ang quote: ang quote.total_base_units ngayon, at ang quote.max_total_base_units, ang pinakamalaking maisisingil sa mamimiling ito sa coin ng koleksyon, na ipinapatupad ng contract o program. Ang sale window na may pangalawang coin ay naniningil din ng quote.additional_total_base_units sa coin na iyon, at nasa ibabaw pa nito ang bayad sa network. Ang koleksyong ibinebenta sa tumataas na presyo ay pumipirma nang bahagyang mas mataas sa quote, para hindi mabigo ang mint ng mamimili kapag naunahan siya ng ibang mint.
Ang parehong plano sa HTTP, walang account at walang susi:
curl -X POST https://testnet.kurv.fun/api/v1/collections/84532/0x8354d02d8022f455db9acb235c6f6655c8adabd3/mint-call \ -H 'content-type: application/json' \ -d '{"wallet":"0xYourBuyer","quantity":1}'error.code | Ibig sabihin | Ano ang gagawin |
|---|---|---|
not_on_allowlist | Para sa allowlist nito ang bahaging ito ng benta | Sabihin sa mamimili |
not_open | Hindi nagbebenta ang koleksyon ngayon | Ipakita ang susunod nitong bahagi mula sa tala ng koleksyon |
use_window | Auction o susunod na bahaging may pangalawang coin | Buksan ang error.window_url |
rate_limited | Masyadong maraming request mula sa network na ito | Subukan ulit maya-maya |
Isang gumaganang page
Seksyong “Isang gumaganang page”I-save ito bilang file sa anumang https na site, o i-serve mula sa sarili mong makina, at pindutin ang button. Kailangan nito ng browser wallet sa Base Sepolia.
<!doctype html><meta charset="utf-8"><title>Mint</title><button id="mint">Mint</button><p id="said" role="status"></p><script type="module"> import { createKurvClient, eip1193Wallet } from 'https://testnet.kurv.fun/sdk/client/v1.js';
const kurv = createKurvClient(); const said = document.getElementById('said');
document.getElementById('mint').addEventListener('click', async () => { try { const [account] = await window.ethereum.request({ method: 'eth_requestAccounts' }); const result = await kurv.mint({ chain: '84532', address: '0x8354d02d8022f455db9acb235c6f6655c8adabd3', wallet: eip1193Wallet(window.ethereum, account), review: (plan) => confirm(`Pay at most ${plan.quote.max_total_base_units} base units?`), }); said.textContent = result.status === 'minted' ? `Minted: ${result.tx}` : 'Nothing was signed.'; } catch (error) { said.textContent = error.message; } });</script>Nananatiling selyado ang hindi pa nabubunyag na art sa lahat ng ito: mga tawag at halaga ang sinasagot ng API, hindi kailanman ang mga file ng selyadong koleksyon. Tingnan ang Mga panganib at paalala.
Walang anuman dito ang payong pinansyal. Basahin ang Mga panganib at paalala bago ka mag-mint, bumili o magbenta pabalik. Bumalik sa kurv.fun. Patakaran sa Privacy. Mga Tuntunin ng Paggamit. .