Система входа для DAPP без метамаски

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

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

Я не хочу использовать Metamask, но я хочу сделать систему входа в систему как MyEtherWallet без каких-либо расширений Chrome. Как лучше всего это сделать?

следует ли использовать централизованную базу данных? потому что я думаю, что Dapp больше не будет децентрализованным.

Всем привет. Что вы имеете в виду под "системой входа, подобной MyEtherWallet"? В MEW нет системы входа в систему, она просто работает в вашем браузере...
Создайте пользователя/логин на своем веб-сайте, и когда пользователь станет активным, обновите некоторую переменную в вашем контракте, которая укажет, что пользователь активен.

Ответы (2)

В целях тестирования мы можем использовать metamask/myetherwallet. Но для производственной системы в Dapp мы должны управлять учетной записью и ее действиями, такими как подписание транзакции. Вот общие шаги, чтобы ваше Dapp функционировало хорошо.

  1. Управление учетными записями: это основная часть взаимодействия с контрактными функциями. Вот модуль web3.eth.accounts . это объясняет. Web3.eth.accounts содержит функции для создания учетных записей Ethereum и подписи транзакций и данных. вы можете делать почти все, что вы делаете из метамаски.

  2. сетевая конечная точка RPC: вышеуказанные учетные записи должны находиться в той же сети, где и в которой вы включили порт RPC. Из web3 мы используем конечную точку, например

var web3 = новый Web3(' http://localhost:8545 ');

  1. Хостинг децентрализованных приложений: в конечном итоге ваш блокчейн распределен и децентрализован, но ваше децентрализованное приложение не нуждается в распределении и децентрализации. Вы можете разместить где угодно, например AWS, Google Cloud. Вам нужен только закрытый/открытый ключ для взаимодействия с блокчейном. Это означает, что вы должны позаботиться о своей учетной записи и механизме подписи, что означает, что ваш закрытый ключ должен храниться отдельно и в безопасности.

Независимо от того, реализуете ли вы свое децентрализованное приложение с помощью web3, собственного языка go или любого другого . Концепция та же.

Послушайте, я не хочу, чтобы мой Node работал, я делаю только демо. Эта демо-версия должна включать в себя также мобильное (ионное) приложение, у вас есть идеи, как это возможно?

Недавно я наткнулся на этот проект, претендующий на роль альтернативы MetaMask: https://fortmatic.com/

Я только что перешел к альфа-версии и начал с ней играться, и пока выглядит многообещающе, довольно хорошая документация и хорошо интегрируется с web3.