इसे छोड़कर कंटेंट पर जाएं
ऐप खोलें

अपने पेज से मिंट करें

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 भेजती है, तो script-src में https://testnet.kurv.fun की अनुमति दें।

विंडो पहले आपके पेज को नमस्ते कहती है, और उसमें साइट का नाम तभी दिखता है जब आपका पेज अपने ही ऑरिजिन से जवाब दे। इसके बाद वह आपके पेज से अपना नाता तोड़ लेती है, इसलिए पेज की कोई भी चीज़ साइन कर रही विंडो को छू नहीं सकती। जवाब 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 को चेन पर पढ़ न ले, उसे सिर्फ़ एक दावा मानें।

एक 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 पर वापस जाएँ। गोपनीयता नीति। उपयोग की शर्तें। ।