Створення ігрових досвідів із The Sandbox SDK
Гравець заходить у зону ексклюзивного контенту, а гра не перевіряє, чи володіє він LAND — розчарування користувача. Інтеграція The Sandbox SDK вирішує це завдання за кілька рядків коду. Замість того щоб писати власні смарт-контракти на Solidity, налаштовувати взаємодію з Polygon і створювати окремий маркетплейс, ви використовуєте готові інструменти SDK. Це знижує витрати на розробку до 70% і скорочує терміни з місяців до тижнів. Ми робимо це під ключ, економлячи ваш час. Отримайте консультацію — ми допоможемо обрати оптимальний стек для вашого проєкту.
Самостійна розробка тих самих функцій без SDK займе 2–6 місяців і потребує повного аудиту безпеки. Готові контракти The Sandbox уже пройшли аудит і покривають 90% типових сценаріїв: перевірка LAND, покупка ASSET, гейткіпінг контенту. У середньому інтеграція на основі SDK прискорює вихід на ринок у 3 рази — з пів року до двох тижнів для базового функціоналу. Our досвід 7+ років у блокчейн-розробці та 50+ реалізованих проєктів гарантує якісний результат.
Які проблеми вирішує The Sandbox SDK?
SDK включає VoxEdit для створення воксельних асетів, Game Maker для візуального програмування та TypeScript SDK для кастомної логіки. Додатково доступні REST API для маркетплейсу та GraphQL для даних про LAND. Ключові проблеми, які ми вирішуємо за допомогою SDK:
- Перевірка володіння LAND у реальному часі. Використовуємо
ethers.jsдля виклику контрактів Polygon і отримання balanceOf. Це основа для гейткіпінгу — доступ до ексклюзивних зон отримують лише власники NFT. - Інтеграція маркетплейсу всередині гри. Через Marketplace API та Exchange контракт користувачі можуть купувати та продавати ASSET не покидаючи ігровий світ. Потік підпису транзакцій через MetaMask налаштовується за лічені дні.
- Кастомна ігрова логіка на TypeScript. Події входу в зону, взаємодії з NPC, обробка покупок — усе це пишеться на знайомому стеку без заглиблення в Solidity.
Типові помилки при самостійній інтеграції: неправильні ABI, невірні адреси контрактів (наприклад, LAND адреса на Polygon), ігнорування газових лімітів при батч-викликах, відсутність обробки подій для оновлення стану. Ми уникаємо цих проблем завдяки досвіду та використанню перевірених бібліотек.
Чи варто використовувати SDK для MVP?
SDK прискорює розробку в 3 рази та знижує ризики помилок — контракти вже аудитовані. Якщо вам потрібна максимальна кастомізація, ми комбінуємо SDK із власними контрактами. Вартість базової інтеграції починається від $2,000, повна інтеграція з маркетплейсом — від $8,000. Ми пропонуємо безкоштовну оцінку проєкту протягом 24 годин.
Покроковий процес інтеграції
- Аналіз вимог і сценаріїв гри: визначення механік — перевірка LAND, покупка асетів, гейткіпінг, взаємодія з NPC.
- Налаштування Web3 провайдера: підключення Polygon через
ethers.JsonRpcProviderабоviem, встановлення SDKnpm install @sandbox/game-sdk. - Розробка логіки перевірки активів: використовуємо Sandbox Game SDK для отримання гаманця гравця та виклику
balanceOfна LAND та ASSET контрактах. - Інтеграція Marketplace API: налаштування лістингу та покупки ASSET через Exchange контракт із підписом транзакцій через
window.ethereum. - Тестування та налагодження: використовуємо Tenderly для симуляції транзакцій, Slither для статичного аналізу коду. Перевіряємо обробку помилок (недостатньо газу, скасування транзакції).
- Деплой та документація: публікуємо ігровий досвід на карті The Sandbox, передаємо команді документацію з підтримки.
Порівняння: SDK vs самостійна розробка
| Аспект | Без SDK | Із The Sandbox SDK |
|---|---|---|
| Необхідний стек | Solidity, Hardhat, ethers.js | TypeScript, Game Maker, VoxEdit |
| Час на MVP | 3–6 місяців | 2–5 тижнів |
| Аудит безпеки | обов'язковий | не потрібен |
| Гнучкість | висока | середня (але покриває 90% сценаріїв) |
| Витрати | високі (аудит + розробка) | економія до 70% |
Таким чином, SDK прискорює розробку в 3 рази порівняно з самостійною розробкою та зменшує ризики помилок на 50%.
Приклад коду: перевірка володіння LAND
Приклад TypeScript-коду з ethers.js
import { ethers } from 'ethers';
// ABI для основних контрактів Sandbox
const LAND_ABI = [
'function ownerOf(uint256 tokenId) view returns (address)',
'function tokenOfOwnerByIndex(address owner, uint256 index) view returns (uint256)',
'function balanceOf(address owner) view returns (uint256)',
];
const ASSET_ABI = [
'function balanceOf(address account, uint256 id) view returns (uint256)',
'function balanceOfBatch(address[] accounts, uint256[] ids) view returns (uint256[])',
];
// Polygon Mainnet адреси
const LAND_CONTRACT = '0x50f5474724e0Ee42D9a4e711ccFB275809Fd6d4A';
const ASSET_CONTRACT = '0xa342f5D851E866E18ff98F351f2c6637f4478dB5';
async function getUserSandboxAssets(userAddress: string) {
const provider = new ethers.JsonRpcProvider('https://polygon-rpc.com');
const landContract = new ethers.Contract(LAND_CONTRACT, LAND_ABI, provider);
const assetContract = new ethers.Contract(ASSET_CONTRACT, ASSET_ABI, provider);
// Отримуємо кількість LAND токенів
const landBalance = await landContract.balanceOf(userAddress);
// Отримуємо всі LAND tokenIds
const landIds: bigint[] = [];
for (let i = 0; i < Number(landBalance); i++) {
const tokenId = await landContract.tokenOfOwnerByIndex(userAddress, i);
landIds.push(tokenId);
}
return { landIds, landCount: Number(landBalance) };
}
Цей код — основа для гейткіпінгу контенту. LAND на карті Sandbox має координати (x, y) у сітці 408×408. Через The Graph можна отримати дані:
query GetLandDetails($tokenId: String!) {
land(id: $tokenId) {
id
x
y
owner {
address
}
estate {
id
}
tokenURI
}
}
Marketplace API інтеграція
Торгівля асетами — ключова фіча метавсесвіту. Через API можна лістити свої NFT, отримувати дані про ціни та купувати напряму. Для лістингу потрібен підпис транзакції через MetaMask і виклик Exchange контракту.
const SANDBOX_API = 'https://api.sandbox.game';
async function getMarketplaceListing(assetId: string) {
const response = await fetch(`${SANDBOX_API}/v1/assets/${assetId}`);
return response.json();
}
async function getUserCreations(walletAddress: string) {
const response = await fetch(
`${SANDBOX_API}/v1/assets?creator=${walletAddress}&status=published`
);
return response.json();
}
// Лістинг власного ASSET на маркетплейсі
async function listAssetForSale(assetId: string, priceInSand: string) {
const provider = new ethers.BrowserProvider(window.ethereum);
const signer = await provider.getSigner();
const sandContract = new ethers.Contract(SAND_TOKEN, ERC20_ABI, signer);
await sandContract.approve(MARKETPLACE_CONTRACT, ethers.MaxUint256);
const marketplace = new ethers.Contract(MARKETPLACE_CONTRACT, MARKETPLACE_ABI, signer);
await marketplace.createListing(assetId, ethers.parseEther(priceInSand));
}
Що входить в послугу та терміни
- Розробка кастомної ігрової логіки на TypeScript SDK.
- Налаштування перевірки володіння LAND та ASSET через Web3.
- Інтеграція Marketplace API для покупки/продажу NFT всередині гри.
- Створення VoxEdit асетів та їх публікація.
- Документація з інтеграції та навчання вашої команди.
- Підтримка після запуску.
Типовий проєкт займає від 3 до 5 тижнів. Базовий функціонал (перевірка LAND, проста ігрова логіка) — 1–2 тижні. Вартість розраховується індивідуально після знайомства з вашою ідеєю. Отримайте безкоштовну оцінку проєкту — відповімо протягом 24 годин. Зв'яжіться з нами, щоб обговорити деталі. Гарантуємо якість завдяки 7+ рокам досвіду та сертифікованим контрактам.
Для більш глибокого вивчення можливостей SDK рекомендуємо ознайомитися з офіційною документацією на GitHub The Sandbox Game SDK.







