Ropsten 网络连接 web3.js(版本 1.0.0-beta.34)
Ropsten network connection with web3.js(Version 1.0.0-beta.34)
我有一个严重的问题,两天以来我一直在努力弄清楚但没有成功。
我想使用 web3.js 连接测试网 ropsten,我想我成功了,但问题是我在 ropsten 网络上有一些余额,但 web3.js 仅显示 0.
你可以在这里查看我的地址,它有一些测试 4.999873784 Ether:
https://ropsten.etherscan.io/address/0x0346d2e50E29065b3b3c73B878FaFDcEb8Ee13f0
这里我描述一下我的流程(所有链接和ips都是假的):
第一次启动geth
geth --testnet --networkid 3 --rpc --rpcaddr "36.241.154.2" --rpccorsdomain "shahzad.com, http://shahzad.com, https://shahzad..com" --rpcapi="db,eth,net,web3,personal, account"
我在我的网页中加入了 web3.js。
//https://github.com/ethereum/web3.js
<script src="http://shahzad.com/myapp/web3.js-1.0.0-beta.34/dist/web3.min.js"></script>
<script type="text/javascript">
//var Web3 = require('web3');
var web3 = new Web3(new Web3.providers.HttpProvider('http://36.241.154.2'))
$(function(){
web3.eth.getBalance('0x0346d2e50E29065b3b3c73B878FaFDcEb8Ee13f0' , function(err, res){
console.log("getBalance: "+res); //Displaying 0 //https://ropsten.etherscan.io/address/0x0346d2e50E29065b3b3c73B878FaFDcEb8Ee13f0
});
web3.eth.net.getId(function(err, res){
console.log("Net: "+res); //Displaying 3
});
web3.eth.net.getNetworkType(function(err, res){
console.log("getNetworkType: "+res); //Displaying ropsten
});
web3.eth.getBlockNumber(function(error, result){
console.log("Block Number: "+result); // Displaying 0
})
});
采取的其他步骤:
eth.syncing
{
currentBlock: 3069355,
highestBlock: 3069421,
knownStates: 27609511,
pulledStates: 27597775,
startingBlock: 3069303
}
这里有什么问题任何线索将不胜感激。
余额通过我的本地节点和 MetaMask 正确显示,表明 OP 的节点存在问题。 OP 通过评论指出一旦节点完全同步 (currentBlock == highestBlock
),余额就会正确显示。
请注意,在 post 中,currentBlock
已超过交易发生的时间点,但余额直到完全同步后才显示。这可能是由于状态特里树尚未同步。
我有一个严重的问题,两天以来我一直在努力弄清楚但没有成功。 我想使用 web3.js 连接测试网 ropsten,我想我成功了,但问题是我在 ropsten 网络上有一些余额,但 web3.js 仅显示 0.
你可以在这里查看我的地址,它有一些测试 4.999873784 Ether: https://ropsten.etherscan.io/address/0x0346d2e50E29065b3b3c73B878FaFDcEb8Ee13f0
这里我描述一下我的流程(所有链接和ips都是假的):
第一次启动geth
geth --testnet --networkid 3 --rpc --rpcaddr "36.241.154.2" --rpccorsdomain "shahzad.com, http://shahzad.com, https://shahzad..com" --rpcapi="db,eth,net,web3,personal, account"
我在我的网页中加入了 web3.js。
//https://github.com/ethereum/web3.js <script src="http://shahzad.com/myapp/web3.js-1.0.0-beta.34/dist/web3.min.js"></script> <script type="text/javascript"> //var Web3 = require('web3'); var web3 = new Web3(new Web3.providers.HttpProvider('http://36.241.154.2')) $(function(){ web3.eth.getBalance('0x0346d2e50E29065b3b3c73B878FaFDcEb8Ee13f0' , function(err, res){ console.log("getBalance: "+res); //Displaying 0 //https://ropsten.etherscan.io/address/0x0346d2e50E29065b3b3c73B878FaFDcEb8Ee13f0 }); web3.eth.net.getId(function(err, res){ console.log("Net: "+res); //Displaying 3 }); web3.eth.net.getNetworkType(function(err, res){ console.log("getNetworkType: "+res); //Displaying ropsten }); web3.eth.getBlockNumber(function(error, result){ console.log("Block Number: "+result); // Displaying 0 }) });
采取的其他步骤:
eth.syncing
{
currentBlock: 3069355,
highestBlock: 3069421,
knownStates: 27609511,
pulledStates: 27597775,
startingBlock: 3069303
}
这里有什么问题任何线索将不胜感激。
余额通过我的本地节点和 MetaMask 正确显示,表明 OP 的节点存在问题。 OP 通过评论指出一旦节点完全同步 (currentBlock == highestBlock
),余额就会正确显示。
请注意,在 post 中,currentBlock
已超过交易发生的时间点,但余额直到完全同步后才显示。这可能是由于状态特里树尚未同步。