Bỏ qua để đến nội dung
Mở ứng dụng

Đúc từ trang của bạn

Có hai cách bán một bộ sưu tập KURV từ trang của chính bạn. Cả hai đều chạy trên Base và Solana, và mọi khoản phí trên chuỗi, giá và quy tắc bán đều vẫn áp dụng: cùng một hợp đồng hoặc chương trình nhận cùng một khoản thanh toán.

Bạn muốnHãy dùng
Dán một dòng và có một nút ĐúcNút Đúc: người mua ký trong cửa sổ KURV
Giữ người mua lại trang của bạn bằng bộ kết nối ví của riêng bạnỨng dụng khách KURV: người mua ký trong ví của họ

Hãy gọi tên mạng bằng 84532 (Base Sepolia) hoặc solana:devnet (Solana Devnet). Địa chỉ bộ sưu tập có trong API công khai.

<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>

Một lần nhấn sẽ mở cửa sổ KURV. Người mua ký ở đó bằng tài khoản KURV hoặc ví, còn trang của bạn không bao giờ chạm vào ví hay khóa. Đặt data-label, data-background và data-color để dùng lời lẽ và màu sắc của riêng bạn. Nếu trang web của bạn gửi Content-Security-Policy, hãy cho phép https://testnet.kurv.fun trong script-src.

Cửa sổ trước hết chào trang của bạn, và tên trang web chỉ hiện trong đó nếu trang của bạn trả lời từ origin của chính nó. Sau đó cửa sổ cắt liên hệ với trang của bạn, nên không có gì trên trang chạm được vào cửa sổ đang ký. Câu trả lời đến từ origin của KURV, được nhận ra qua giá trị ngẫu nhiên mà lần nhấn đó đã tạo, và chỉ gửi tới origin của trang bạn, rồi script phát kurv:mint trên phần tử:

statusNghĩa là
mintedLượt đúc đã hoàn tất: chain, collection, tx, tokenIds, quantity. Có thể đến sau closed khi lần đăng nhập mất nhiều thời gian
closedMột lúc lâu không thấy dấu hiệu nào của cửa sổ, và không có lượt đúc. KURV không bao giờ nói lý do
blockedTrình duyệt từ chối mở cửa sổ. Hãy nhờ người mua cho phép

Trang của bạn không biết gì về người mua không đúc: không biết ví của họ, không biết họ có trong danh sách cho phép hay không. Trang KURV là nơi duy nhất người mua đọc được những câu trả lời đó.

Một trang web gửi Cross-Origin-Opener-Policy: same-origin không thể trả lời lời chào: lượt đúc và câu trả lời vẫn hoạt động, và cửa sổ không hiện tên trang web. Hãy dùng same-origin-allow-popups thay thế. Hãy coi tx là một lời khai cho đến khi máy chủ của chính bạn đã đọc nó trên chuỗi.

Một module ES không có phụ thuộc, kiểu dữ liệu nằm cạnh trong v1.d.ts. Nó hỏi API công khai để lấy báo giá mới và đúng các lệnh gọi cho người mua này, kèm bằng chứng danh sách cho phép, rồi chuyển cho ví của người mua.

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?`),
});

Trên Solana, hãy dùng ví Wallet Standard. KURV chỉ ký cho tài khoản của chính tác phẩm mới, còn ví ký và trả tiền với tư cách người mua. Phí mạng và tiền thuê tài khoản tính bằng 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'),
});

Bộ kết nối nào cũng dùng được: evmWallet và solanaWallet bọc bộ kết nối của bạn trong vài dòng. Ứng dụng khách không bao giờ thấy khóa.

kurv.prepareMint({ chain, address, wallet, quantity }) trả về kế hoạch và không ký gì cả, và kế hoạch đó chính là báo giá: quote.total_base_units hiện tại, và quote.max_total_base_units, mức tối đa người mua này có thể bị tính bằng đồng tiền của bộ sưu tập, do hợp đồng hoặc chương trình thực thi. Một đợt bán có đồng tiền thứ hai còn tính thêm quote.additional_total_base_units bằng đồng tiền đó, và phí mạng nằm ngoài các khoản này. Bộ sưu tập bán theo giá tăng dần sẽ ký cao hơn báo giá một chút, để một lượt đúc đến trước không làm lượt đúc của người mua thất bại.

Cùng kế hoạch đó qua HTTP, không cần tài khoản và không cần khóa:

Terminal window
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.codeNghĩa làCần làm
not_on_allowlistĐợt bán này dành cho danh sách cho phép của nóBáo cho người mua
not_openBộ sưu tập hiện không bánHiển thị đợt tiếp theo từ hồ sơ bộ sưu tập
use_windowĐấu giá hoặc một đợt sau đó dùng đồng tiền thứ haiMở error.window_url
rate_limitedCó quá nhiều yêu cầu từ mạng nàyThử lại sau ít phút

Hãy lưu nội dung này thành một tệp trên bất kỳ trang https nào, hoặc chạy từ máy của bạn, rồi nhấn nút. Bạn cần ví trình duyệt trên 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>

Tác phẩm chưa được tiết lộ vẫn được niêm phong trong tất cả những điều này: API trả lời các lệnh gọi và số tiền, không bao giờ trả về tệp của bộ sưu tập đã niêm phong. Xem Rủi ro và tuyên bố miễn trừ.

Không có nội dung nào ở đây là lời khuyên tài chính. Hãy đọc Rủi ro và tuyên bố miễn trừ trước khi đúc, mua hoặc bán lại. Quay lại kurv.fun. Chính sách quyền riêng tư. Điều khoản sử dụng. .