มินต์จากหน้าเว็บของคุณ
ขายคอลเลกชัน KURV จากหน้าเว็บของคุณเองได้สองวิธี ทั้งสองวิธีใช้ได้บน Base และ Solana และค่าธรรมเนียมออนเชน ราคา และกฎการขายทุกข้อยังคงมีผลเหมือนเดิม สัญญาหรือโปรแกรมเดียวกันรับการชำระเงินเดียวกัน
| สิ่งที่ต้องการ | สิ่งที่ใช้ |
|---|---|
| วางโค้ดบรรทัดเดียวแล้วได้ปุ่มมินต์ | ปุ่มมินต์: ผู้ซื้อลงนามในหน้าต่าง KURV |
| ให้ผู้ซื้ออยู่ในหน้าเว็บของคุณพร้อมตัวเชื่อมต่อวอลเล็ตของคุณเอง | ไคลเอนต์ KURV: ผู้ซื้อลงนามในวอลเล็ตของตนเอง |
ระบุเครือข่ายด้วย 84532 (Base Sepolia) หรือ solana:devnet (Solana Devnet) ที่อยู่ของคอลเลกชันอยู่ในAPI สาธารณะ
ปุ่มมินต์
หัวข้อที่มีชื่อว่า “ปุ่มมินต์”<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>การกดหนึ่งครั้งจะเปิดหน้าต่าง KURV ผู้ซื้อลงนามที่นั่นด้วยบัญชี KURV หรือวอลเล็ต และหน้าเว็บของคุณไม่เคยแตะต้องวอลเล็ตหรือคีย์ ตั้งค่า data-label, data-background และ data-color เพื่อใช้ถ้อยคำและสีของคุณเอง หากเว็บไซต์ของคุณส่ง Content-Security-Policy ให้อนุญาต https://testnet.kurv.fun ใน script-src
หน้าต่างจะทักทายหน้าเว็บของคุณก่อน และชื่อเว็บไซต์จะปรากฏในหน้าต่างก็ต่อเมื่อหน้าเว็บของคุณตอบกลับจากต้นทางของตัวเอง จากนั้นหน้าต่างจะตัดการเชื่อมกับหน้าเว็บของคุณ ดังนั้นไม่มีสิ่งใดบนหน้าเว็บที่แตะหน้าต่างซึ่งกำลังลงนามอยู่ได้ คำตอบมาจากต้นทางของ KURV ตรวจสอบด้วยค่าสุ่มที่การกดครั้งนั้นสร้างขึ้น และส่งไปยังต้นทางของหน้าเว็บคุณเท่านั้น แล้วสคริปต์จะส่งเหตุการณ์ kurv:mint บนองค์ประกอบ:
status | ความหมาย |
|---|---|
minted | การมินต์เสร็จสิ้น: chain, collection, tx, tokenIds, quantity อาจมาหลัง closed ได้เมื่อการเข้าสู่ระบบใช้เวลานาน |
closed | ไม่พบสัญญาณจากหน้าต่างมาระยะหนึ่งและไม่มีการมินต์ KURV ไม่เคยบอกเหตุผล |
blocked | เบราว์เซอร์ปฏิเสธการเปิดหน้าต่าง ให้ขอให้ผู้ซื้ออนุญาต |
หน้าเว็บของคุณไม่รู้อะไรเลยเกี่ยวกับผู้ซื้อที่ไม่มินต์ ทั้งวอลเล็ตของเขา และการอยู่ในรายชื่ออนุญาตหรือไม่ หน้าของ KURV เป็นที่เดียวที่ผู้ซื้อจะได้อ่านคำตอบเหล่านี้
เว็บไซต์ที่ส่ง Cross-Origin-Opener-Policy: same-origin ตอบคำทักทายไม่ได้ การมินต์และคำตอบยังใช้งานได้ แต่หน้าต่างจะไม่แสดงชื่อเว็บไซต์ ให้ใช้ same-origin-allow-popups แทน และให้ถือว่า tx เป็นเพียงคำอ้างจนกว่าเซิร์ฟเวอร์ของคุณเองจะอ่านบนเชนแล้ว
ไคลเอนต์ KURV
หัวข้อที่มีชื่อว่า “ไคลเอนต์ KURV”โมดูล ES ตัวเดียวที่ไม่มีส่วนที่ต้องพึ่งพา โดยมีชนิดข้อมูลอยู่ข้างกันใน v1.d.ts โมดูลนี้ขอใบเสนอราคาล่าสุดและคำสั่งเรียกที่ตรงสำหรับผู้ซื้อรายนี้จากAPI สาธารณะ รวมถึงหลักฐานรายชื่ออนุญาต แล้วส่งต่อให้วอลเล็ตของผู้ซื้อ
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?`),});บน Solana ให้ใช้วอลเล็ตแบบ Wallet Standard KURV ลงนามเฉพาะบัญชีของชิ้นงานใหม่เอง ส่วนวอลเล็ตลงนามและจ่ายในฐานะผู้ซื้อ ค่าธรรมเนียมเครือข่ายและค่าเช่าบัญชีเป็น SOL
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'),});ตัวเชื่อมต่อใดก็ใช้ได้ evmWallet และ solanaWallet ห่อของคุณได้ในไม่กี่บรรทัด ไคลเอนต์ไม่เคยเห็นคีย์
kurv.prepareMint({ chain, address, wallet, quantity }) ตอบกลับเป็นแผนและไม่ลงนามอะไรเลย และแผนนั้นคือใบเสนอราคา: quote.total_base_units ในตอนนี้ และ quote.max_total_base_units ซึ่งเป็นจำนวนสูงสุดที่ผู้ซื้อรายนี้อาจถูกเรียกเก็บเป็นเหรียญของคอลเลกชัน โดยสัญญาหรือโปรแกรมเป็นผู้บังคับใช้ ช่วงการขายที่มีเหรียญที่สองจะเรียกเก็บ quote.additional_total_base_units เป็นเหรียญนั้นเพิ่มด้วย และค่าธรรมเนียมเครือข่ายคิดเพิ่มจากนี้ คอลเลกชันที่ขายด้วยราคาที่สูงขึ้นเรื่อย ๆ จะลงนามสูงกว่าใบเสนอราคาเล็กน้อย เพื่อไม่ให้การมินต์ที่เข้ามาก่อนทำให้การมินต์ของผู้ซื้อล้มเหลว
แผนเดียวกันนี้ผ่าน HTTP โดยไม่ต้องมีบัญชีและไม่ต้องมีคีย์:
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 | ความหมาย | สิ่งที่ควรทำ |
|---|---|---|
not_on_allowlist | ช่วงการขายนี้สำหรับรายชื่ออนุญาตของตน | แจ้งผู้ซื้อ |
not_open | คอลเลกชันไม่ได้เปิดขายอยู่ในขณะนี้ | แสดงช่วงถัดไปจากบันทึกของคอลเลกชัน |
use_window | การประมูล หรือช่วงถัดไปที่ใช้เหรียญที่สอง | เปิด error.window_url |
rate_limited | มีคำขอจากเครือข่ายนี้มากเกินไป | ลองใหม่อีกสักครู่ |
หน้าที่ใช้งานได้จริง
หัวข้อที่มีชื่อว่า “หน้าที่ใช้งานได้จริง”บันทึกโค้ดนี้เป็นไฟล์บนเว็บไซต์ https ใดก็ได้ หรือรันจากเครื่องของคุณเอง แล้วกดปุ่ม ต้องมีวอลเล็ตบนเบราว์เซอร์ที่ใช้ 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>ผลงานที่ยังไม่เผยยังคงถูกปิดผนึกในทุกขั้นตอนนี้ API ตอบเฉพาะคำสั่งเรียกและจำนวนเงิน ไม่เคยตอบไฟล์ของคอลเลกชันที่ปิดผนึก ดูความเสี่ยงและข้อจำกัดความรับผิดชอบ
เนื้อหาในที่นี้ไม่ใช่คำแนะนำทางการเงิน โปรดอ่านความเสี่ยงและข้อจำกัดความรับผิดชอบก่อนมินต์ ซื้อ หรือขายคืน กลับไปที่ kurv.fun นโยบายความเป็นส่วนตัว ข้อกำหนดการใช้งาน