EOSIO / eos

An open source smart contract platform
https://developers.eos.io/manuals/eos
MIT License
11.27k stars 3.6k forks source link

Occured error:"Fail to retrieve account for eosio.token" on RPC #5300

Closed vincentwang0736 closed 6 years ago

vincentwang0736 commented 6 years ago

I have set contract and create my token successfully on cleos. I successfully executed these commands:

./cleos create account eosio mbtcreator EOS6xVGXTf1tgiD8AQbhxVMeL923b2jJJUtDBhwee7PXsVtU7Qpmz EOS6fMKzrZr5TzAWqHD257RtsikpQj7kWDjUjYYS5E3ZXgRWQaJ1p

./cleos set contract mbtcreator /opt/eos/build/contracts/eosio.token -p mbtcreator

./cleos push action mbtcreator create '{"issuer":"eosio","maximum_supply":"1000000000.000 NEW"}' -p mbtcreator

./cleos push action mbtcreator issue '[ "mbtpub", "100.000 NEW", "memo" ]' -p eosio

And here is my nodejs code:

var express = require('express'); var bodyParser = require('body-parser'); var app = express(); var http = require('http');

app.use(bodyParser.urlencoded({extended: false})); app.use(bodyParser.json()); app.set('view engine', 'ejs');

Eos = require('eosjs') // Eos = require('./src') eos = Eos.Localnet() // 本地127.0.0.1:8888

//查询余额 var url_getAccountBalance = '/getAccountBalance.json'; app.get(url_getAccountBalance, function(request, response_getAccountBalance) { callback_getAccountBalance = (err_getAccountBalance,result_getAccountBalance) => { if (err_getAccountBalance) { console.error(err_getAccountBalance); } else { response_getAccountBalance.json(result_getAccountBalance); } } eos.getCurrencyBalance({"code": "eosio.token","account": "mbtpub", "symbol": "NEW"}, callback_getAccountBalance) });

var server = app.listen(3000, () => { console.log('Server Listening on localhost:3000'); }); server.setTimeout(0);

But when I curl this url: curl http://127.0.0.1:3000/getAccountBalance.json

I got this error:

{ message: 'Fail to retrieve account for eosio.token', file: 'chain_plugin.cpp', line_number: 651, method: 'get_abi' } http://127.0.0.1:8888/v1/chain/get_currency_balance {"code":"eosio.token","account":"mbtpub","symbol":"NEW"} { Error: {"code":500,"message":"Internal Service Error","error":{"code":3060002,"name":"account_query_exception","what":"Account Query Exception","details":[{"message":"Fail to retrieve account for eosio.token","file":"chain_plugin.cpp","line_number":651,"method":"get_abi"}]}}

Anyone can help me or give me some advices? Thanks a lot!

jgiszczak commented 6 years ago

eos.getCurrencyBalance({"code": "eosio.token","account": "mbtpub", "symbol": "NEW"}, callback_getAccountBalance) should be eos.getCurrencyBalance({"code": "mbtcreator","account": "mbtpub", "symbol": "NEW"}, callback_getAccountBalance)

vincentwang0736 commented 6 years ago

Thanks a lot!you helped me!