cryptiumlabs / backerei

Automated reward payment & account management for Tezos bakers.
https://cryptium.ch/networks/tezos
GNU General Public License v3.0
49 stars 11 forks source link

Can't get no-dry-run to work #19

Closed issie81 closed 5 years ago

issie81 commented 5 years ago

I have installed backerei, which seems great app. I am running into issue when going into --no-dry-run its ask for a pass and then nothing happens, no error no pass nothing. I think it's something in the config

fromAddress: xx fromAccountName: xx databasePath: /home/xx/.backerei.json fee: denominator: 10 numerator: 1 cycleLength: 4096 clientPath: /home/xx/.tezos-client clientConfigFile: /home/xx/.tezos-client/config startingCycle: 48 host: 127.0.0.1 snapshotInterval: 256 bakerAddress: xx port: 8732

i removed some parts for privacy... but the .tezos-client has only 3 files in it (public-key, public-key_hash and secret_keys) also i am lost on the clientConfigFile i can't seem to find a right location (where do i need to point this out) since payout works good i think it's just matter of small adjustment

FYI payout is being done by tz1 account it shouldn't be a problem i assume.. (it's different then baker address)

cwgoes commented 5 years ago

Payouts can be done by any account. Are you sure that you are indeed due to pay transactions?

In particular, does backerei payout (a dry run) print out any transactions to be sent?

issie81 commented 5 years ago

yeah backerei payout did calculate the rewards (if i run backerei payout now nothing happens) i have been solo baking and the json file i see the correct rewards.. the solo baking is from cycle 48 and are released in tzscan... i was thinking maybe it's because i am solo baking but the json file says i get xx number reward (which is correct 10% value)

what are clientpath and clientconfigfile?

cwgoes commented 5 years ago

Client path specifies the full file path of the tezos-client binary.

Client config file specifies the full file path of the tezos-client configuration (which contains e.g. the remote node address).

issie81 commented 5 years ago

you mean the path where the ./client-tezos to execute commands? which seems logical since with that command you can execute transactions

so that leave the config file, where is this normally situated? i looked everywhere but can't seem to find it?

also since cycle ended i did another backerei payout and get this

backerei payout Enter source account password: Updating DB with estimates for cycle 63... Updating DB with actual earnings for cycle 57... backerei: app/Payout.hs:56:19-92: Irrefutable pattern failed for pattern [thisCycle]

EDIT

i did fresh install, all updates goes good also mention the address was not revealed (so i revealed it, also showing revaeled in tzscan) still no-dry-run won't do anything also no feedback (succes or failure) i still think it has to do with client path and client config path

how far do is specify it tezos-client injects the paymens i assume do i write down /$home/tezos or $home/tezos/tezos-client

so link to the directory or also the client included?

i am playing also alot with config file do i need to reload the backerei or is it just edit the .backerei.yaml file enough?

EDIT2:

my config.json looks like

{ "rpc": { "listen-addr": "127.0.0.1:8732" }, "p2p": { "listen-addr": "[::]:9732" } }

so i had remote nodes?

adrianbrink commented 5 years ago

Normally the configuration file config for the tezos-client can be found here $HOME/.tezos-client/config.

Can you post your backerei.yaml file and your config file here.

issie81 commented 5 years ago

xx for security reasons

fromAddress: xx fromAccountName: xx databasePath: /home/xx/.backerei.json fee: denominator: 10 numerator: 1 cycleLength: 4096 clientPath: /home/xx/tezos/tezos-client clientConfigFile: /home/xx/.tezos-node/config startingCycle: 48 host: 127.0.0.1 snapshotInterval: 256 bakerAddress: xx port: 8732

note that in .tezos-client are only 3 documents

image

so i assume you need .tezos-node/config.json which contains

{ "rpc": { "listen-addr": "127.0.0.1:8732" }, "p2p": { "listen-addr": "[::]:9732" } }

EDIT:

i changed to this clientPath: /home/xx/tezos clientConfigFile: /home/xx/.tezos-node/config.json

this seems more logical also is there any type to check if backerei send dummy payments (to check if that works, rather then me debugging and waiting 15 cycles prior payment is being done?, 7 cycles before baking 7 cycles before unfrozen)...i don't mind making low dummy payments

EDIT 2:

ok running ./tezos-client client show gives

Warning: no config file at /home/xx/.tezos-client/config, displaying the default configuration. { "base_dir": "/home/xx/.tezos-client", "node_addr": "localhost", "node_port": 8732, "tls": false, "web_port": 8080, "confirmations": 0 }

so i created the config file... i have the correct path to the client. i think the reason why the payments are not send is basicly i am solo mining (the baker will go live soon)

so lets say i pay the delegees.. and some where the payment node crashes and i rebuild so new .backerei.json is being created will backerei pay twice the delegees or does it keep track on blockchain if delegee is paid or not if it rebuilds means i have the backup the json file each cycle

too bad backerei does not give any input like no payments to be done or a failure or succes for that matter, so with this feedback we can make backerei even better...

emilnygaard commented 5 years ago

I'm seeing the same thing with the pattern failing on the same line of code. I have the same confog file pretty much.

chiptus commented 5 years ago

@issie81 seems like your clientConfigFile is wrong, it points to the node config and not to the client. usually it's $HOME/.tezos-client/config

issie81 commented 5 years ago

@chiptus

if you read my edit2 section you see i fixed that issue, can you confirm this is good values?

ok running ./tezos-client client show gives

Warning: no config file at /home/xx/.tezos-client/config, displaying the default configuration. { "base_dir": "/home/xx/.tezos-client", "node_addr": "localhost", "node_port": 8732, "tls": false, "web_port": 8080, "confirmations": 0 }

so my current config is

{ "base_dir": "/home/xx/.tezos-client", "node_addr": "localhost", "node_port": 8732, "tls": false, "web_port": 8080, "confirmations": 0 }

chiptus commented 5 years ago

do you have a node running on this machine? if you have then should be ready to go. What cycle did start getting delegates? maybe there are no payments to make. if you did the payments by hand then I don't know if backerei sees them. For us backerei isn't working yet, so we have to do them by hand, so we change the starting cycle in .backerei.yaml

emilnygaard commented 5 years ago

That was it for me! It was trying to process a cycle that had no rewards and no payouts, that's what threw the error: backerei: app/Payout.hs:56:19-92: Irrefutable pattern failed for pattern [thisCycle]

issie81 commented 5 years ago

@chiptus

Yeah off course the node is on the machine, since 2 cycles there are new delegees ( i dont promote until i nailed the issue) so guess have ro wait and run continues run till gets payout..

You change cycle per payment but who sends the payment you by cli of backerei

Wish Bakcerei would give more input what is going on

Trappist8 commented 5 years ago

backerei: app/Payout.hs:56:19-92: Irrefutable pattern failed for pattern [thisCycle]

I have seen this same error while rewards and payouts were pending on the blockchain. I am having the same exact issue as "issie81".

issie81 commented 5 years ago

seems like massive issue's with Backerei, what are we doing wrong @adrianbrink devs?

issie81 commented 5 years ago

i think i have backerei good now lets wait for the first payout:) i start baking cycle 65 so payout is in cycle 73? 7+7?

cwgoes commented 5 years ago

Closing this issue since everything seems to be resolved; reopen if any errors recur.