Підготовка контенту платформи Ring
Підготовка контенту платформи Ring
Підготовка контенту платформи Ring
Концепції, цінність і типові сценарії
Концепції, цінність і типові сценарії
Концепції, цінність і типові сценарії
Філософія Ring: «Ваша платформа має працювати на вашій економіці». Кожен клон Ring може постачатися з еталонним стеком RING або форкнути його під власний utility-токен.
Платформи Ring вирівнюють стимули через on-chain utility: членські внески, потоки маркетплейсу, реферальні винагороди та опційний стейкінг. У цьому посібнику:
contracts/RingToken.sol та contracts/RingMembership.solТрадиційні платформи централізують захоплення цінності — користувачі створюють контент і транзакції, а контроль залишається у засновників та інвесторів.
Токенні платформи Ring спрямовують комісії в прозору скарбницю, відкривають преміум-функції через utility-баланси та з часом дозволяють спільноті розширювати економіку через governance і стейкінг.
| Потік | Поведінка еталона RING |
|---|---|
| Членство | 1 RING / місяць → скарбниця |
| Мінімальний буфер | 12 RING (рік) рекомендується до підписки |
| Емісія | 1 000 000 000 RING мінтиться в скарбницю при деплої |
| Мережа за замовчуванням | Polygon (налаштовується в клоні) |
Ring постачає два upgradeable (UUPS) контракти, що працюють разом:
contracts/RingToken.sol)Upgradeable ERC-20 з burn, pause та розподілом через скарбницю.
| Параметр | Значення | Примітка |
|---|---|---|
INITIAL_SUPPLY | 1 000 000 000 RING | Мінт у скарбницю при initialize |
MEMBERSHIP_FEE | 1 RING / місяць | Лише RingMembership викликає deductMembershipFee |
MIN_SUBSCRIPTION_BALANCE | 12 RING | View-хелпер — рік внесків |
| Decimals | 18 | Стандартна точність ERC-20 |
Ключові функції:
deductMembershipFee(member) — переводить 1 RING учаснику → скарбниці; лише пов’язаний membership-контрактcreditTokens(recipient, amount, reason) — owner переводить зі скарбниці (airdrop, компенсації)hasSubscriptionBalance(user) / getRemainingMembershipMonths(user) — хелпери для UI та opspause() / unpause() — екстрена зупинка трансферівsetTreasury / setMembershipContract — конфігурація owner після деплоюRING спроєктований як utility-токен для доступу до платформи, а не інвестиційний продукт. Проконсультуйтеся з юристами перед обіцянками доходності, прибутку чи ліквідності на вторинному ринку.
contracts/RingMembership.sol)Керує рекурентною оплатою членства on-chain.
| Параметр | Значення |
|---|---|
SUBSCRIPTION_PERIOD | 30 днів |
GRACE_PERIOD | 7 днів після терміну оплати |
MAX_FAILED_ATTEMPTS | 3 до закінчення підписки |
Життєвий цикл підписки:
createSubscription() — потрібен баланс ≥ 1 RING; перший місяць списується одразуprocessBatchPayments(batchSize) — owner/cron обробляє продовженняfailedAttempts; після трьох — статус EXPIREDcancelSubscription() — скасування користувачем; suspendSubscription / reactivateSubscription — адмінhasActiveMembership(user) — true поки ACTIVE і в межах grace periodСтатуси: INACTIVE, ACTIVE, EXPIRED, CANCELLED, SUSPENDED
contracts/contracts-src/ReferralRewards.sol)Опційний контракт для gasless реферальних виплат. Роль operator платить реферерам у токені проєкту в режимі MINT або TRANSFER, з ідемпотентним orderRef проти подвійних виплат.
Деплой окремо при ввімкненні store referral commissions:
Вкажіть REFERRAL_REWARDS_ADDRESS та REFERRAL_REWARD_TOKEN_ADDRESS у env клону (on-chain ops — EN canonical у Refcodes).
On-chain контракти працюють разом із серверними сервісами — користувачу не потрібен підпис на кожне щомісячне продовження.
Клієнтські константи — у constants/web3.ts: метадані токена, заготовки staking pool і хелпери Polygonscan.
Додаток веде off-chain кредитний ledger, синхронізований ізі статусом членства:
| Сервіс | Шлях | Роль |
|---|---|---|
| Кредити | features/wallet/services/user-credit-service.ts | Баланс, списання, членський внесок |
| Підписки | services/membership/subscription-service.ts | Створення, скасування, продовження, batch |
| Oracle | services/blockchain/price-oracle-service.ts | RING/USD із fallback-джерелами |
Типовий апгрейд:
subscriptionService.createSubscription списує кредит і ставить next due (+30 днів)API (репрезентативно):
GET /api/wallet/credit/balance — баланс і знімок підпискиPOST /api/membership/subscription/create — старт підпискиPOST /api/membership/payment/ring — оплата RINGGET /api/prices/ring-usd — конвертація для UI та чеківconstants/web3.ts задає заготовку RING staking pool (RING_STAKING_ADDRESS, 20% APR placeholder, мінімум 100 RING). Агро/кооперативні клони можуть підключити пули DAAR/DAARION через features/staking/staking.config.ts. Параметри стейкінгу — конфігурація клону, не глобальні правила протоколу RING.
Hardhat-проєкт: ring-platform.org/contracts/.
Встановлення та компіляція:
Testnet (скрипт Polygon Mumbai):
Порядок: RingToken → RingMembership → setMembershipContract. JSON деплою — deployments/mumbai-deployment.json.
Mainnet:
Потрібні RING_TREASURY_MAINNET і достатньо MATIC на deployer. scripts/deploy-mainnet.js — лише після аудиту та multisig скарбниці.
Пропишіть адреси в .env клону, передеплойте застосунок, верифікуйте контракти на Polygonscan.
Проведіть професійний аудит смарт-контрактів перед mainnet. Використовуйте multisig для скарбниці та owner-ключів.
Використовуйте RING як шаблон для брендованої економіки.
Utility-токен (рекомендовано): Лістинги, членство, комісії маркетплейсу. Без обіцянок прибутку.
Security-токен: Частка або revenue share — регулювання цінних паперів; обов’язковий legal review.
Один vs кілька токенів: Один простіший; розділяйте governance і utility лише за реальної потреби.
Патерни розподілу:
Політика supply: Фіксована (модель RING), контрольована інфляція (staking rewards) або дефляція через burn комісій.
Збирайте комісії в скарбницю; частину спрямовуйте на staking rewards або burn згідно з tokenomics paper.
RingToken.sol / RingMembership.sol або деплойте як є зі своєю скарбницеюconstants/web3.ts та env-адресиuser-credit-service та subscription-serviceМетрики здоров’я:
Запуск токена має наслідки залежно від юрисдикції. Залучіть юристів до публічного продажу, лістингу на біржі чи маркетингу доходності.
Готові до запуску? Пройдіть чеклист для свого клону.
contracts/testПотрібна допомога з впровадженням? Перегляньте можливості кастомізації Ring або інтеграцію платежів для fiat + token checkout.
Філософія Ring: «Ваша платформа має працювати на вашій економіці». Кожен клон Ring може постачатися з еталонним стеком RING або форкнути його під власний utility-токен.
Платформи Ring вирівнюють стимули через on-chain utility: членські внески, потоки маркетплейсу, реферальні винагороди та опційний стейкінг. У цьому посібнику:
contracts/RingToken.sol та contracts/RingMembership.solТрадиційні платформи централізують захоплення цінності — користувачі створюють контент і транзакції, а контроль залишається у засновників та інвесторів.
Токенні платформи Ring спрямовують комісії в прозору скарбницю, відкривають преміум-функції через utility-баланси та з часом дозволяють спільноті розширювати економіку через governance і стейкінг.
| Потік | Поведінка еталона RING |
|---|---|
| Членство | 1 RING / місяць → скарбниця |
| Мінімальний буфер | 12 RING (рік) рекомендується до підписки |
| Емісія | 1 000 000 000 RING мінтиться в скарбницю при деплої |
| Мережа за замовчуванням | Polygon (налаштовується в клоні) |
Ring постачає два upgradeable (UUPS) контракти, що працюють разом:
contracts/RingToken.sol)Upgradeable ERC-20 з burn, pause та розподілом через скарбницю.
| Параметр | Значення | Примітка |
|---|---|---|
INITIAL_SUPPLY | 1 000 000 000 RING | Мінт у скарбницю при initialize |
MEMBERSHIP_FEE | 1 RING / місяць | Лише RingMembership викликає deductMembershipFee |
MIN_SUBSCRIPTION_BALANCE | 12 RING | View-хелпер — рік внесків |
| Decimals | 18 | Стандартна точність ERC-20 |
Ключові функції:
deductMembershipFee(member) — переводить 1 RING учаснику → скарбниці; лише пов’язаний membership-контрактcreditTokens(recipient, amount, reason) — owner переводить зі скарбниці (airdrop, компенсації)hasSubscriptionBalance(user) / getRemainingMembershipMonths(user) — хелпери для UI та opspause() / unpause() — екстрена зупинка трансферівsetTreasury / setMembershipContract — конфігурація owner після деплоюRING спроєктований як utility-токен для доступу до платформи, а не інвестиційний продукт. Проконсультуйтеся з юристами перед обіцянками доходності, прибутку чи ліквідності на вторинному ринку.
contracts/RingMembership.sol)Керує рекурентною оплатою членства on-chain.
| Параметр | Значення |
|---|---|
SUBSCRIPTION_PERIOD | 30 днів |
GRACE_PERIOD | 7 днів після терміну оплати |
MAX_FAILED_ATTEMPTS | 3 до закінчення підписки |
Життєвий цикл підписки:
createSubscription() — потрібен баланс ≥ 1 RING; перший місяць списується одразуprocessBatchPayments(batchSize) — owner/cron обробляє продовженняfailedAttempts; після трьох — статус EXPIREDcancelSubscription() — скасування користувачем; suspendSubscription / reactivateSubscription — адмінhasActiveMembership(user) — true поки ACTIVE і в межах grace periodСтатуси: INACTIVE, ACTIVE, EXPIRED, CANCELLED, SUSPENDED
contracts/contracts-src/ReferralRewards.sol)Опційний контракт для gasless реферальних виплат. Роль operator платить реферерам у токені проєкту в режимі MINT або TRANSFER, з ідемпотентним orderRef проти подвійних виплат.
Деплой окремо при ввімкненні store referral commissions:
Вкажіть REFERRAL_REWARDS_ADDRESS та REFERRAL_REWARD_TOKEN_ADDRESS у env клону (on-chain ops — EN canonical у Refcodes).
On-chain контракти працюють разом із серверними сервісами — користувачу не потрібен підпис на кожне щомісячне продовження.
Клієнтські константи — у constants/web3.ts: метадані токена, заготовки staking pool і хелпери Polygonscan.
Додаток веде off-chain кредитний ledger, синхронізований ізі статусом членства:
| Сервіс | Шлях | Роль |
|---|---|---|
| Кредити | features/wallet/services/user-credit-service.ts | Баланс, списання, членський внесок |
| Підписки | services/membership/subscription-service.ts | Створення, скасування, продовження, batch |
| Oracle | services/blockchain/price-oracle-service.ts | RING/USD із fallback-джерелами |
Типовий апгрейд:
subscriptionService.createSubscription списує кредит і ставить next due (+30 днів)API (репрезентативно):
GET /api/wallet/credit/balance — баланс і знімок підпискиPOST /api/membership/subscription/create — старт підпискиPOST /api/membership/payment/ring — оплата RINGGET /api/prices/ring-usd — конвертація для UI та чеківconstants/web3.ts задає заготовку RING staking pool (RING_STAKING_ADDRESS, 20% APR placeholder, мінімум 100 RING). Агро/кооперативні клони можуть підключити пули DAAR/DAARION через features/staking/staking.config.ts. Параметри стейкінгу — конфігурація клону, не глобальні правила протоколу RING.
Hardhat-проєкт: ring-platform.org/contracts/.
Встановлення та компіляція:
Testnet (скрипт Polygon Mumbai):
Порядок: RingToken → RingMembership → setMembershipContract. JSON деплою — deployments/mumbai-deployment.json.
Mainnet:
Потрібні RING_TREASURY_MAINNET і достатньо MATIC на deployer. scripts/deploy-mainnet.js — лише після аудиту та multisig скарбниці.
Пропишіть адреси в .env клону, передеплойте застосунок, верифікуйте контракти на Polygonscan.
Проведіть професійний аудит смарт-контрактів перед mainnet. Використовуйте multisig для скарбниці та owner-ключів.
Використовуйте RING як шаблон для брендованої економіки.
Utility-токен (рекомендовано): Лістинги, членство, комісії маркетплейсу. Без обіцянок прибутку.
Security-токен: Частка або revenue share — регулювання цінних паперів; обов’язковий legal review.
Один vs кілька токенів: Один простіший; розділяйте governance і utility лише за реальної потреби.
Патерни розподілу:
Політика supply: Фіксована (модель RING), контрольована інфляція (staking rewards) або дефляція через burn комісій.
Збирайте комісії в скарбницю; частину спрямовуйте на staking rewards або burn згідно з tokenomics paper.
RingToken.sol / RingMembership.sol або деплойте як є зі своєю скарбницеюconstants/web3.ts та env-адресиuser-credit-service та subscription-serviceМетрики здоров’я:
Запуск токена має наслідки залежно від юрисдикції. Залучіть юристів до публічного продажу, лістингу на біржі чи маркетингу доходності.
Готові до запуску? Пройдіть чеклист для свого клону.
contracts/testПотрібна допомога з впровадженням? Перегляньте можливості кастомізації Ring або інтеграцію платежів для fiat + token checkout.
Філософія Ring: «Ваша платформа має працювати на вашій економіці». Кожен клон Ring може постачатися з еталонним стеком RING або форкнути його під власний utility-токен.
Платформи Ring вирівнюють стимули через on-chain utility: членські внески, потоки маркетплейсу, реферальні винагороди та опційний стейкінг. У цьому посібнику:
contracts/RingToken.sol та contracts/RingMembership.solТрадиційні платформи централізують захоплення цінності — користувачі створюють контент і транзакції, а контроль залишається у засновників та інвесторів.
Токенні платформи Ring спрямовують комісії в прозору скарбницю, відкривають преміум-функції через utility-баланси та з часом дозволяють спільноті розширювати економіку через governance і стейкінг.
| Потік | Поведінка еталона RING |
|---|---|
| Членство | 1 RING / місяць → скарбниця |
| Мінімальний буфер | 12 RING (рік) рекомендується до підписки |
| Емісія | 1 000 000 000 RING мінтиться в скарбницю при деплої |
| Мережа за замовчуванням | Polygon (налаштовується в клоні) |
Ring постачає два upgradeable (UUPS) контракти, що працюють разом:
contracts/RingToken.sol)Upgradeable ERC-20 з burn, pause та розподілом через скарбницю.
| Параметр | Значення | Примітка |
|---|---|---|
INITIAL_SUPPLY | 1 000 000 000 RING | Мінт у скарбницю при initialize |
MEMBERSHIP_FEE | 1 RING / місяць | Лише RingMembership викликає deductMembershipFee |
MIN_SUBSCRIPTION_BALANCE | 12 RING | View-хелпер — рік внесків |
| Decimals | 18 | Стандартна точність ERC-20 |
Ключові функції:
deductMembershipFee(member) — переводить 1 RING учаснику → скарбниці; лише пов’язаний membership-контрактcreditTokens(recipient, amount, reason) — owner переводить зі скарбниці (airdrop, компенсації)hasSubscriptionBalance(user) / getRemainingMembershipMonths(user) — хелпери для UI та opspause() / unpause() — екстрена зупинка трансферівsetTreasury / setMembershipContract — конфігурація owner після деплоюRING спроєктований як utility-токен для доступу до платформи, а не інвестиційний продукт. Проконсультуйтеся з юристами перед обіцянками доходності, прибутку чи ліквідності на вторинному ринку.
contracts/RingMembership.sol)Керує рекурентною оплатою членства on-chain.
| Параметр | Значення |
|---|---|
SUBSCRIPTION_PERIOD | 30 днів |
GRACE_PERIOD | 7 днів після терміну оплати |
MAX_FAILED_ATTEMPTS | 3 до закінчення підписки |
Життєвий цикл підписки:
createSubscription() — потрібен баланс ≥ 1 RING; перший місяць списується одразуprocessBatchPayments(batchSize) — owner/cron обробляє продовженняfailedAttempts; після трьох — статус EXPIREDcancelSubscription() — скасування користувачем; suspendSubscription / reactivateSubscription — адмінhasActiveMembership(user) — true поки ACTIVE і в межах grace periodСтатуси: INACTIVE, ACTIVE, EXPIRED, CANCELLED, SUSPENDED
contracts/contracts-src/ReferralRewards.sol)Опційний контракт для gasless реферальних виплат. Роль operator платить реферерам у токені проєкту в режимі MINT або TRANSFER, з ідемпотентним orderRef проти подвійних виплат.
Деплой окремо при ввімкненні store referral commissions:
Вкажіть REFERRAL_REWARDS_ADDRESS та REFERRAL_REWARD_TOKEN_ADDRESS у env клону (on-chain ops — EN canonical у Refcodes).
On-chain контракти працюють разом із серверними сервісами — користувачу не потрібен підпис на кожне щомісячне продовження.
Клієнтські константи — у constants/web3.ts: метадані токена, заготовки staking pool і хелпери Polygonscan.
Додаток веде off-chain кредитний ledger, синхронізований ізі статусом членства:
| Сервіс | Шлях | Роль |
|---|---|---|
| Кредити | features/wallet/services/user-credit-service.ts | Баланс, списання, членський внесок |
| Підписки | services/membership/subscription-service.ts | Створення, скасування, продовження, batch |
| Oracle | services/blockchain/price-oracle-service.ts | RING/USD із fallback-джерелами |
Типовий апгрейд:
subscriptionService.createSubscription списує кредит і ставить next due (+30 днів)API (репрезентативно):
GET /api/wallet/credit/balance — баланс і знімок підпискиPOST /api/membership/subscription/create — старт підпискиPOST /api/membership/payment/ring — оплата RINGGET /api/prices/ring-usd — конвертація для UI та чеківconstants/web3.ts задає заготовку RING staking pool (RING_STAKING_ADDRESS, 20% APR placeholder, мінімум 100 RING). Агро/кооперативні клони можуть підключити пули DAAR/DAARION через features/staking/staking.config.ts. Параметри стейкінгу — конфігурація клону, не глобальні правила протоколу RING.
Hardhat-проєкт: ring-platform.org/contracts/.
Встановлення та компіляція:
Testnet (скрипт Polygon Mumbai):
Порядок: RingToken → RingMembership → setMembershipContract. JSON деплою — deployments/mumbai-deployment.json.
Mainnet:
Потрібні RING_TREASURY_MAINNET і достатньо MATIC на deployer. scripts/deploy-mainnet.js — лише після аудиту та multisig скарбниці.
Пропишіть адреси в .env клону, передеплойте застосунок, верифікуйте контракти на Polygonscan.
Проведіть професійний аудит смарт-контрактів перед mainnet. Використовуйте multisig для скарбниці та owner-ключів.
Використовуйте RING як шаблон для брендованої економіки.
Utility-токен (рекомендовано): Лістинги, членство, комісії маркетплейсу. Без обіцянок прибутку.
Security-токен: Частка або revenue share — регулювання цінних паперів; обов’язковий legal review.
Один vs кілька токенів: Один простіший; розділяйте governance і utility лише за реальної потреби.
Патерни розподілу:
Політика supply: Фіксована (модель RING), контрольована інфляція (staking rewards) або дефляція через burn комісій.
Збирайте комісії в скарбницю; частину спрямовуйте на staking rewards або burn згідно з tokenomics paper.
RingToken.sol / RingMembership.sol або деплойте як є зі своєю скарбницеюconstants/web3.ts та env-адресиuser-credit-service та subscription-serviceМетрики здоров’я:
Запуск токена має наслідки залежно від юрисдикції. Залучіть юристів до публічного продажу, лістингу на біржі чи маркетингу доходності.
Готові до запуску? Пройдіть чеклист для свого клону.
contracts/testПотрібна допомога з впровадженням? Перегляньте можливості кастомізації Ring або інтеграцію платежів для fiat + token checkout.
cd contracts && npm run deploy:referral
# Смарт-контракти (Polygon)
NEXT_PUBLIC_RING_TOKEN_ADDRESS=0x...
RING_MEMBERSHIP_CONTRACT_ADDRESS=0x...
RING_TREASURY_WALLET_ADDRESS=0x...
POLYGON_RPC_URL=https://polygon-rpc.com
# Ціноутворення (опційно)
CHAINLINK_RING_USD_FEED=0x...
COINMARKETCAP_API_KEY=...
# Реферальні винагороди (опційно)
REFERRAL_REWARDS_ADDRESS=0x...
REFERRAL_REWARD_TOKEN_ADDRESS=0x...
cd contracts
npm install
npx hardhat compile
RING_TREASURY_TESTNET=0xYourTreasury \
npx hardhat run scripts/deploy-testnet.js --network polygon
cd contracts && npm run deploy:referral
# Смарт-контракти (Polygon)
NEXT_PUBLIC_RING_TOKEN_ADDRESS=0x...
RING_MEMBERSHIP_CONTRACT_ADDRESS=0x...
RING_TREASURY_WALLET_ADDRESS=0x...
POLYGON_RPC_URL=https://polygon-rpc.com
# Ціноутворення (опційно)
CHAINLINK_RING_USD_FEED=0x...
COINMARKETCAP_API_KEY=...
# Реферальні винагороди (опційно)
REFERRAL_REWARDS_ADDRESS=0x...
REFERRAL_REWARD_TOKEN_ADDRESS=0x...
cd contracts
npm install
npx hardhat compile
RING_TREASURY_TESTNET=0xYourTreasury \
npx hardhat run scripts/deploy-testnet.js --network polygon
cd contracts && npm run deploy:referral
# Смарт-контракти (Polygon)
NEXT_PUBLIC_RING_TOKEN_ADDRESS=0x...
RING_MEMBERSHIP_CONTRACT_ADDRESS=0x...
RING_TREASURY_WALLET_ADDRESS=0x...
POLYGON_RPC_URL=https://polygon-rpc.com
# Ціноутворення (опційно)
CHAINLINK_RING_USD_FEED=0x...
COINMARKETCAP_API_KEY=...
# Реферальні винагороди (опційно)
REFERRAL_REWARDS_ADDRESS=0x...
REFERRAL_REWARD_TOKEN_ADDRESS=0x...
cd contracts
npm install
npx hardhat compile
RING_TREASURY_TESTNET=0xYourTreasury \
npx hardhat run scripts/deploy-testnet.js --network polygon