如果您正在本地主机上运行geth,并使用我提供的一个网页与ethereum网络进行交互,难道我就不能使用web3js和javascript解锁帐户并将资金转移到另一个帐户吗?我有点困惑如何锁定和解锁钱包如何工作,我如何能够建立一个自我包含的网页应用程序,而不使用geth/呋喃?
另外,是否有可能将一个web dapp连接到一个网络钱包,并以某种方式使用该网络钱包与合同进行交互?
发布于 2017-09-29 18:53:31
如果您正在本地主机上运行geth,并且您看到了我的网页,难道我就不能使用web3js和javascript打开帐户并将资金转移到另一个帐户吗?
如果你的意思是我的网页是你提供钱包一样的服务,是的,你可以。
假设您提供了一个网页,用户可以使用他们自己的本地节点进行交互,并要求他们提供密码以解锁帐户,您可以从中检索密码,并设法访问用户计算机的文件系统(就像一些黑客找到了进入系统的方法)并获取密钥库文件。
但主要的问题是为什么人们应该信任你的网页或服务?
如果您想要向其他人展示您的网页是可信的,我可能会建议,如果用户已经在本地运行的节点上解锁了他的帐户,或者元问询类似的服务,那么您可以提供与ethereum交互的接口。因此,即使您可以访问keystore文件,也很难对它们进行解密以找到私钥,因为您不知道密码条/短语。
钱包的工作原理是,它们生成一个加密密钥对,并将您的私钥存储在本地加密。因此,当您提供密码时,密钥将被解密并用于签署事务。有关更多细节,您可以阅读这个职位。
钱包怎么也不能百分之百可信。有时你可能还得相信钱包服务提供商。有一个很好的阅读这里。
总之,我建议您使用类似于元问句的服务来构建一个可信任的dapp。这个问题也将对您有用。
https://ethereum.stackexchange.com/questions/27395
复制相似问题