我需要在以太坊中调用合约中的方法,而不使用 MetaMask。我使用 Infura API 并尝试从最近使用 web3.eth.create() 方法创建的帐户调用我的方法。该方法返回如下对象:
{
address: "0xb8CE9ab6943e0eCED004cG5834Hfn7d",
privateKey: "0x348ce564d427a3311b6536bbcff9390d69395b06ed6",
signTransaction: function(tx){...},
sign: function(data){...},
encrypt: function(password){...}
}
Run Code Online (Sandbox Code Playgroud)
我还使用 infura 提供商:
const web3 = new Web3(new Web3.providers.HttpProvider(
"https://rinkeby.infura.io/5555666777888"
))
Run Code Online (Sandbox Code Playgroud)
所以,当我尝试这样写时:
contract.methods.contribute().send({
from: '0xb8CE9ab6943e0eCED004cG5834Hfn7d', // here I paste recently created address
value: web3.utils.toWei("0.5", "ether")
});
Run Code Online (Sandbox Code Playgroud)
我有这个错误:
错误:给定选项和默认选项中均未指定“发件人”地址。
如果我把它写在选项中怎么可能不是来自地址from?
PS 使用 Metamask 我的应用程序运行良好。但是当我从 MetaMask 注销并尝试创建新帐户并使用它时,我遇到了这个问题。
我尝试在使用 npm ( )创建的 VueJS 项目中不使用 jQuery初始化 MaterializeCSS 框架vue init webpack projectname
从版本1.0.0-rc.2Materialize 开始支持它自己的初始化而不使用 jQuery,就像这样:
document.addEventListener('DOMContentLoaded', function() {
var elems = document.querySelectorAll('.collapsible');
var instances = M.Collapsible.init(elems, options);
});
Run Code Online (Sandbox Code Playgroud)
但是通过这种方式,JS Materialize Components 仅在手动页面重新加载后工作,并且当我打开某个组件并返回带有 Materialize 内容的组件时 - 它不起作用 - 我需要一直手动重新加载页面。
那么如何以正确的方式初始化 JS 组件呢?