EOSIO / eos

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

All three producers have corresponding votes, but only one is in production, the other two are not produced, only receive #5359

Closed amActiveHello closed 5 years ago

amActiveHello commented 6 years ago

1、Here is my list of producers : image In fact, only lwz is in the non-stop production block, the other two producers hml and lz only receive, no rotation production block. 2、the folling is my nodeos config 2.1 host 1:172.20.22.137 eosio nodeos config:

# the endpoint upon which to listen for incoming connections (eosio::bnet_plugin)
bnet-endpoint = 0.0.0.0:4321
//for communicatin with cleos
http-server-address = 172.20.22.137:9800

# The actual host:port used to listen for incoming p2p connections. (eosio::net_plugin)
p2p-listen-endpoint = 0.0.0.0:9900

//for sync block
# The public endpoint of a peer node to connect to. Use multiple p2p-peer-address options as needed to compose a network. (eosio::net_plugin)
p2p-peer-address = 172.20.22.128:9900
p2p-peer-address = 172.20.22.128:9877
p2p-peer-address = 172.20.22.137:9877

agent-name = "EOS Test Agent"

enable-stale-production = true

//producer name
producer-name = eosio

signature-provider = EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV=KEY:5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3

unlock-timeout = 90000

//load plugin
plugin = eosio::chain_api_plugin
plugin = eosio::history_api_plugin
plugin = eosio::chain_plugin
plugin = eosio::history_plugin
plugin = eosio::net_plugin
plugin = eosio::net_api_plugin  

lwz nodeos config:

\# the endpoint upon which to listen for incoming connections (eosio::bnet_plugin)
bnet-endpoint = 0.0.0.0:4322
producer-name = lwz
enable-stale-production = false

http-server-address = 172.20.22.137:8889
p2p-listen-endpoint = 0.0.0.0:9877
p2p-peer-address = 172.20.22.137:9900
p2p-peer-address = 172.20.22.128:9900
p2p-peer-address = 172.20.22.128:9877

signature-provider = EOS7ijWCBmoXBi3CgtK7DJxentZZeTkeUnaSDvyro9dq7Sd1C3dC4=KEY:5Jmsawgsp1tQ3GD6JyGCwy1dcvqKZgX6ugMVMdjirx85iv5VyPR
plugin = eosio::chain_api_plugin
plugin = eosio::history_api_plugin
plugin = eosio::chain_plugin
plugin = eosio::history_plugin
plugin = eosio::net_plugin
plugin = eosio::net_api_plugin
plugin = eosio::http_plugin

1.2 host 2:172.20.22.128 hml nodeos config:

bnet-endpoint = 0.0.0.0:4321
producer-name = hml
enable-stale-production = false
signature-provider = EOS7fu9rx1wtEPnX3jY2ZfezyLwV5Ly29g6nmyTSwtLAQMu4boFJz=KEY:5JjWBaVxKnWpcr857E8dWBr8Duq76M7wzoUEEwAAzzwUjz9Yyqs
http-server-address = 0.0.0.0:9800

p2p-listen-endpoint = 0.0.0.0:9900
p2p-peer-address = 172.20.22.137:9900
p2p-peer-address = 172.20.22.137:9877
p2p-peer-address = 172.20.22.128:9877

enable-stale-production = false
plugin = eosio::chain_api_plugin
plugin = eosio::history_api_plugin
plugin = eosio::chain_plugin
plugin = eosio::history_plugin
plugin = eosio::net_plugin
plugin = eosio::net_api_plugin
plugin = eosio::http_plugin

lx nodeos config:

# the endpoint upon which to listen for incoming connections (eosio::bnet_plugin)
bnet-endpoint = 0.0.0.0:4322
producer-name = lx
enable-stale-production = false

http-server-address = 172.20.22.128:8889

p2p-listen-endpoint = 172.20.22.128:9877
p2p-peer-address = 172.20.22.137:9900
p2p-peer-address = 172.20.22.137:9877
p2p-peer-address = 172.20.22.128:9900

signature-provider = EOS5n442Qz4yVc4LbdPCDnxNSseAiUCrNjRxAfPhUvM8tWS5svid6=KEY:5JCStvbRgUZ6hjyfUiUaxt5iU3HP6zC1kwx3W7SweaEGvs4EPfQ
plugin = eosio::chain_api_plugin
plugin = eosio::history_api_plugin
plugin = eosio::chain_plugin
plugin = eosio::history_plugin
plugin = eosio::net_plugin
plugin = eosio::net_api_plugin
plugin = eosio::http_plugin

3、run nodeos : 3.1 run eosio:

nodeos --config-dir ./config --data-dir ./data

3.2 run lwz

nodeos --config-dir ./config --data-dir ./data --delete-all-blocks eosio::chain_plugin

3.3 run hml:

nodeos --config-dir ./config --data-dir ./data --delete-all-blocks eosio::chain_plugin

3.4 run lx

nodeos --config-dir ./config --data-dir ./data --delete-all-blocks eosio::chain_plugin

3、when i Cancel vote

cleos --url http://172.20.22.137:9800 system  voteproducer prods  userc  lx
cleos --url http://172.20.22.137:9800 system  voteproducer prods  userb  hml
cleos --url http://172.20.22.137:9800 system  voteproducer prods  usera  lwz 

4、but only lwz is producing, hml && lx is not produe ,only receving. https://user-images.githubusercontent.com/11773000/44388378-8e6dcb80-a55a-11e8-8f1e-0f67c6963f53.png 5、I vote again:

cleos --url http://172.20.22.137:9800 system  voteproducer prods  userc  hml
cleos --url http://172.20.22.137:9800 system  voteproducer prods  userb   hml
cleos --url http://172.20.22.137:9800 system  voteproducer prods  usera   lx

image The result is still lwz has been in production, hml and lz have been receiving。 6、Finally, I run cleos --url http://172.20.22.137:9800 system unregprod lwz,but lwz is still producing ,the other two is receving.

wangyilin1987 commented 6 years ago

@amActiveHello ,Is the problem solved? i have same problem,i don't know why some producers have enought vote,but don't produce block! @

amActiveHello commented 6 years ago

I have adopted all the suggestions provided, but I have no expected results. EOS has a lot of pits, not mature enough. I then moved to the ethereum's POA consensus mechanism to deploy the underlying chain.

This is my blog, sorted out some of the experience of deployment, welcome to correct me

wangyilin1987 commented 6 years ago

@amActiveHello That's bad news!

taokayan commented 5 years ago

Are you sure the other two nodes are receiving and linking those blocks produced by the first node? Please ask in eosio.stackexchange.com if you have further questions.