Кошелёк
Кастодиальный кошелёк разработчика: как он защищён, баланс и история транзакций.
Кастодиальная модель#
При регистрации для разработчика автоматически создаётся кастодиальный кошелёк — один адрес, с которого деплоятся контракты и выполняются операции записи. Приватным ключом управляет платформа: вам не нужно хранить seed-фразу или подписывать транзакции вручную.
Один адрес на разработчика
Кошелёк привязан к вашему аккаунту (ИИН), а не к отдельному проекту. Все ваши контракты деплоятся с этого адреса.
Защита приватного ключа#
- Приватный ключ шифруется (AES-256-GCM) мастер-ключом и хранится в базе в зашифрованном виде.
- Ключ используется только сервером для подписи ваших транзакций.
- Архитектура допускает миграцию на внешнее хранилище секретов (например, HashiCorp Vault) без изменения публичного интерфейса.
Баланс#
GET
/api/devportal/wallets/:address/balancepublicПараметр запроса network (testnet по умолчанию или mainnet).
Ответ
{
"address": "0xA747...5694",
"network": "testnet",
"wei": "10000000000000000000",
"eth": "10"
}История транзакций#
GET
/api/devportal/developers/:id/wallet-historyBearer (dev)Возвращает операции кошелька (faucet, deploy, вызовы), обогащённые данными из сети. Каждая запись связана с транзакцией и ведёт в Explorer.
hashstringrequiredХэш транзакции.
kind"faucet" | "deploy" | "read" | "write"requiredТип операции.
methodstring | nulloptionalИмя метода контракта (для вызовов).
blockNumbernumber | nulloptionalНомер блока.
timestampnumber | nulloptionalUnix-время блока.
valueWeistringrequiredСумма в wei.
direction"in" | "out"requiredВходящая или исходящая относительно кошелька.
Запрос
curl "https://kazsmartchain.org/api/devportal/developers/<DEV_ID>/wallet-history?network=testnet" \
-H "Authorization: Bearer <JWT>"
