如果from没有的话,他就会用当前的默认账号, 如果是转账to和value是必选的两个字段。 在发送交易的时候弹出来MetaMask的一个授权的窗口,如果我们gas和gasPrice没有设置的话,就可以在MetaMask里面去设置。如果这两个gas和gas Price设置了的话,MetaMask就会使用我们设置的gas。

因此在发送交易的时候,关键是构造这样一个交易对象,JavaScrpt代码如下:

怎么使用Web3.js API 在页面中进行转账 第1张

// 这里使用Metamask 给的gas Limit 及 gas 价
var fromAccount = $( #fromAccount ).val();
var toAccount = $( #toAccount ).val();
var amount = $( #amount ).val();
// 对输入的数字做一个检查
if (web3.isAddress(fromAccount)  
 web3.isAddress(toAccount)  
 amount != null   amount.length   0) {
 var message = {from: fromAccount, to:toAccount, value: web3.toWei(amount,  ether )};
 web3.eth.sendTransaction(message, (err, res) =  {
 var output =  
 if (!err) {
 output += res;
 } else {
 output =  Error 
 }
 }
}

补充说明:$( #fromAccount ).val()是使用JQuery用来获取用户输入内容,其次应该在实际构造发送交易之前对输入的参数做一个判断,web3.isAddress用来检查字符串是不是地址。另外对于一个向普通外部地址账号的转账,消耗的gas 是固定的21000。

需要注意一点的是,由于安全原因,MetaMask只支持站点方式访问的页面,即通过http:// 来访问页面,在浏览器中通过file:// + 文件地址的方式是不行的。 因此需要把编写的代码放置到web服务器的目录下,自己试验下。

怎么使用Web3.js API 在页面中进行转账 第2张

上述就是小编为大家分享的怎么使用Web3.js API 在页面中进行转账了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。