Я новичок в Solidity и изучаю децентрализованную разработку игр.
Это сказало, давайте углубимся в детали. Представьте, что я хочу разработать 2D-игру, в которой вы можете купить, например, активы, такие как оружие, зелье или что-то в этом роде.
Я могу написать эту игру, скажем, на ASP.net, в сочетании с HTML5, JavaScript и Ajax, и она будет прекрасно работать в веб-браузере.
Но возможно ли заставить эту игру с этого момента связываться с блокчейном Ethereum для обмена данными и совершения транзакций, как в примере с покупкой, который я объяснял ранее?
Если да, то где лучше всего начать этому учиться? Есть ли у кого-нибудь опыт в этом или кто-нибудь может поделиться хорошими ресурсами, чтобы я начал?
Большое спасибо за ваше время и помощь!
Думаю, вы уже разобрались с технологией вашей онлайн-игры (Unity, Phaser js, canvas и т. д.). Предположим, в вашей игре игрок будет зарабатывать очки (токены) каждый раз, когда он / она проходит любой уровень, и в то же время игрок может покупать очки (жетоны), используя эфир.
Используя эти токены, пользователь может совершить покупку в приложении, где игрок может купить оружие, пропустить уровень и т. д.
Вам понадобится оплачиваемый смарт-контракт, и этот контракт должен содержать большое количество токенов, и вам необходимо реализовать 2 метода buyTokens и buyTokensWithPoints. У вашего игрока должна быть учетная запись Ethereum с небольшим количеством эфиров.
Я предполагаю, что вам может понадобиться запустить легкий узел ethereum для обработки всех транзакций игрока, или вы можете использовать Metamask, если игра основана на браузере.
Вы можете обратиться к архитектуре Metamask, чтобы узнать, как они интегрируются с блокчейном Ethereum.
Здесь роль смарт-контракта заключается в простой передаче токенов при выполнении условия (уровень 1 — 5 завершено -> 100 токенов, уровень 5 — 10 завершено -> 500 токенов).
При покупке приложения использование этих токенов зависит от вашей игровой логики и системы подсчета очков.
Возможно. Лучше всего было бы посмотреть web3 https://github.com/ethereum/web3.js/
Вы можете совершать транзакции и использовать смарт-контракты. Я бы посмотрел на другие проекты с открытым исходным кодом, например, на мой кошелек ethereum. https://github.com/MyEtherWallet
Одна проблема заключается в том, что вам нужно будет предоставить пользователям способ входа в систему, что может вызвать препятствие безопасности.