Я создаю Dapp на Ethereum. Представьте, что у меня есть компании для регистрации в моем децентрализованном приложении, я предоставлю им их собственный смарт-контракт и пару открытого и закрытого ключей, которые они будут использовать, чтобы просто разблокировать свою учетную запись и внести какие-то изменения в свой смарт-контракт.
Так как же должна происходить разблокировка этой учетной записи? Я просто хочу сделать это просто. Может быть, я предоставлю им учетную запись ethereum и просто использую открытый и закрытый ключи этой учетной записи?
Я не хочу использовать Metamask, но я хочу сделать систему входа в систему как MyEtherWallet без каких-либо расширений Chrome. Как лучше всего это сделать?
следует ли использовать централизованную базу данных? потому что я думаю, что Dapp больше не будет децентрализованным.
В целях тестирования мы можем использовать metamask/myetherwallet. Но для производственной системы в Dapp мы должны управлять учетной записью и ее действиями, такими как подписание транзакции. Вот общие шаги, чтобы ваше Dapp функционировало хорошо.
Управление учетными записями: это основная часть взаимодействия с контрактными функциями. Вот модуль web3.eth.accounts . это объясняет. Web3.eth.accounts содержит функции для создания учетных записей Ethereum и подписи транзакций и данных. вы можете делать почти все, что вы делаете из метамаски.
сетевая конечная точка RPC: вышеуказанные учетные записи должны находиться в той же сети, где и в которой вы включили порт RPC. Из web3 мы используем конечную точку, например
var web3 = новый Web3(' http://localhost:8545 ');
Независимо от того, реализуете ли вы свое децентрализованное приложение с помощью web3, собственного языка go или любого другого . Концепция та же.
Недавно я наткнулся на этот проект, претендующий на роль альтернативы MetaMask: https://fortmatic.com/
Я только что перешел к альфа-версии и начал с ней играться, и пока выглядит многообещающе, довольно хорошая документация и хорошо интегрируется с web3.
Ричард Хоррокс
Нулик