Можно ли написать браузерную онлайн-игру на ASP.net и интегрировать смарт-контракт, например, для покупки активов в этой игре?

Я новичок в Solidity и изучаю децентрализованную разработку игр.

Это сказало, давайте углубимся в детали. Представьте, что я хочу разработать 2D-игру, в которой вы можете купить, например, активы, такие как оружие, зелье или что-то в этом роде.

Я могу написать эту игру, скажем, на ASP.net, в сочетании с HTML5, JavaScript и Ajax, и она будет прекрасно работать в веб-браузере.

Но возможно ли заставить эту игру с этого момента связываться с блокчейном Ethereum для обмена данными и совершения транзакций, как в примере с покупкой, который я объяснял ранее?

Если да, то где лучше всего начать этому учиться? Есть ли у кого-нибудь опыт в этом или кто-нибудь может поделиться хорошими ресурсами, чтобы я начал?

Большое спасибо за ваше время и помощь!

Ответы (2)

Думаю, вы уже разобрались с технологией вашей онлайн-игры (Unity, Phaser js, canvas и т. д.). Предположим, в вашей игре игрок будет зарабатывать очки (токены) каждый раз, когда он / она проходит любой уровень, и в то же время игрок может покупать очки (жетоны), используя эфир.

Используя эти токены, пользователь может совершить покупку в приложении, где игрок может купить оружие, пропустить уровень и т. д.

Вам понадобится оплачиваемый смарт-контракт, и этот контракт должен содержать большое количество токенов, и вам необходимо реализовать 2 метода buyTokens и buyTokensWithPoints. У вашего игрока должна быть учетная запись Ethereum с небольшим количеством эфиров.

  1. Разработайте смарт-контракт с помощью Solidity
  2. Скомпилируйте код Solidity в Binary -> ABI (бинарный интерфейс приложения)
  3. Разверните ABI в основной сети Ethereum.
  4. Взаимодействие со смарт-контрактом с помощью web3 js и ABI

Я предполагаю, что вам может понадобиться запустить легкий узел ethereum для обработки всех транзакций игрока, или вы можете использовать Metamask, если игра основана на браузере.

Вы можете обратиться к архитектуре Metamask, чтобы узнать, как они интегрируются с блокчейном Ethereum.

Здесь роль смарт-контракта заключается в простой передаче токенов при выполнении условия (уровень 1 — 5 завершено -> 100 токенов, уровень 5 — 10 завершено -> 500 токенов).

При покупке приложения использование этих токенов зависит от вашей игровой логики и системы подсчета очков.введите описание изображения здесь

Возможно. Лучше всего было бы посмотреть web3 https://github.com/ethereum/web3.js/

Вы можете совершать транзакции и использовать смарт-контракты. Я бы посмотрел на другие проекты с открытым исходным кодом, например, на мой кошелек ethereum. https://github.com/MyEtherWallet

Одна проблема заключается в том, что вам нужно будет предоставить пользователям способ входа в систему, что может вызвать препятствие безопасности.