我试图在html页面上打印web3.eth.<function> output,但我无法打印它。
我跟踪了这个回答。我的节点正在--rpcport 8545上运行。
让我们看看打印blockNumber的简单示例。
<html>
<head>
<script type='text/javascript'>
window.addEventListener('load', function() {
var web3 = window.web3 ;
if (typeof web3 !== 'undefined') {
web3 = new Web3(web3.currentProvider);
} else {
// set the provider you want from Web3.providers
web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545"));
}
});
function getblocknumber() {
//alert()
//document.getElementById("status").innerHTML = web3.version.api //works, returns: 0.20.3
document.getElementById("status").innerHTML = web3.eth.blockNumber; //returns empty string
}
</script>
</head>
<body>
<p>Get Block Number:</p> <button onclick="getblocknumber()">Get Block Number </button>
<p id="status"></p>
</body>
</html>var express = require('express');
var app = express();
var bodyParser = require('body-parser');
// Create application/x-www-form-urlencoded parser
var urlencodedParser = bodyParser.urlencoded({ extended: false })
app.use(express.static('.'));
var server = app.listen(8081, function () {
var host = server.address().address
var port = server.address().port
console.log("Example app listening at http://%s:%s", host, port)
})跑:
$ node myserver.js
Example app listening at http://:::8081打开;从浏览器:http://localhost:8081/example.html
发布于 2018-10-25 16:08:49
web3.eth.getBlockNumber(function (err, blockNumber) {
document.getElementById("status").innerHTML = blockNumber;
});发布于 2018-10-25 15:57:43
您使用的是哪个版本的web3?如果您使用的是v1.0.0,那么使用它是错误的.
https://web3js.readthedocs.io/en/1.0/web3-eth.html#getblocknumber
https://ethereum.stackexchange.com/questions/61184
复制相似问题