Bible Pay

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Rob Andrews

Pages: 1 ... 156 157 158 159 160 161 162 [163] 164 165 166 167 168 169 170 ... 263
2431
Ok I went to healthy on all my nodes, lets hope you all see the same.

'exec health'


2432
1.4.0.9b-TestNet Mandatory Upgrade

- Remove more log spam
- Add 'exec health'; we use this to check the health of the next GSC
superblock manually
- Make the Sanc quorum relay the crown jewel once every 9 blocks
- Make the Sanc or the non-sanc detect an unhealthy GSC condition, and
Reset resyncing gov objs
- Prevent d-dossing other sancs for having a bad previous block header
- Lengthen gobject deletion time by 1 day


** All, please ensure you upgrade again to the newest version **

2433

16:14:22

exec health


16:14:22

{
  "Command": "health",
  "govobjhash": "0000000000000000000000000000000000000000000000000000000000000000",
  "Amounts": "",
  "Addresses": "",
  "votes": 0,
  "required_votes": 3,
  "last_superblock": 8835,
  "next_superblock": 9040,
  "next_superblock_triggered": false,
  "Healthy": false,
  "GSC_Voted_In": false
}


16:14:24

getblockhash 9000


16:14:24

eca1364b2b58b06d07aaad98685382b1e67b3a053a3db26c77bfddd61042fdd8


If all goes well, we will all go to "healthy".


2434
1.4.0.9-TestNet Mandatory Upgrade

- Remove more log spam
- Add 'exec health'; we use this to check the health of the next GSC
superblock manually
- Make the Sanc quorum relay the crown jewel once every 9 blocks
- Make the Sanc or the non-sanc detect an unhealthy GSC condition, and
Reset resyncing gov objs
- Prevent d-dossing other sancs for having a bad previous block header
- Lengthen gobject deletion time by 1 day

2435
** Update **

So for the last few re-releases the common theme has been:
- No signs of a problem with abn weight, or gsc client side transactions, or creation of the pog points
- No signs of problems with actual POBH heat mining (IE no forks resulting from POW)
- No signs of problems on the *monthly* superblock budget system or its creation of budget data

- Every re-release so far and enhancement resulted from a problem related to the Daily superblock contract
 (not a problem with the actual contract, a problem with the sancs not *finding* the contract, some find it, some lose it)

So I've been trying to hone in on this for the last 2 days - because at first I believed running only 3 sancs meant that one sanc out of 3 was not syncing properly- so we added rules to strengthen the minimum requirements of the voting required for a superblock to pass.  Yesterday however, all 3 sancs could see the votes on the superblock (we had 4), but only 2 of them had the actual gobject in memory (that is obviously a problem).

Let me explain this a different way, so we can all understand how a soft consensus can still fork the chain in testnet.
Sanc #1 and Sanc #2 had the gobject in memory (this is the GSC contract with its payments and addresses).  Sanc 1,2,and 3 had the *vote* for the gobject in memory and they all agreed the superblock was good and should pass.

Here is what happened on block 6990:

Sanc #1 found both the gobject and the trigger votes, and it said:  Valid, accepted
Sanc #2 found the votes only, and said "valid superblock at this height" but actually rejected the block because:  IsBlockValueValid, too few superblock payments <-- this is because it was missing the gobject with the hex data

So lets see what happens; Sanc #2 goes on its own chain now, Sanc 1 and 3 continue on the chain with the higher work.  This actually splits the testnet network because now Sanctuary votes for 1 cause (mnpayments to decrease), IE do to our mnpayments relying on chainheights- this becomes a hard split - and in a small
 testnet network we cant have this, so therefore we have to fix the root of the problem.

This ends up causing a hard fork, because #2 will never re-correct its view of this block until completely resynced as it has now marked the block as a fail.

First, lets stop testing again until I can release a plan to fix this.
(It does not appear to be watchman).
It appears to be more of a timing issue.  In Dash, the gobjects are synced over a longer time span (as we normally have a month to get all the data for the monthly votes), but in our case, we are trying to sync (with 2 minute blocks) all the superblock data within 190 blocks (IE < 3 hours)-- so I can see if one sanc misses a gobject, its going to make a bad call on the next superblock.

So, my plan is this next:
1. I will investigate all code that syncs gobjects, and see if we are lacking something (Ie timing issues) and beef this up
2. I will do something special to allow us to Monitor the next daily gsc superblock, like a command line that will alert us that a node is going to make a bad call on the next block
3. We will make the sanc go out of its way to Pull the data it needs to make a good call on the block manually

Then we regroup here and do an in-depth analysis on the actual superblock heights as they are about to tick by and post something on the forum to see what the state of each one is as they occur. 

Please hang on for the next version, it might take a day, it might take less depending on how complex the timing issue is.





2436
Sorry but I am unable to start watchman. can you please advise?

-342: non-JSON HTTP response with '401 Unauthorized' from server
Cannot connect to biblepayd. Please ensure biblepayd is running and the JSONRPC port is open to watchman.
Sorry for providing too little information about the Watchman environment; let me try to explain.

In Prod, we are running a 1.5 year old codebase with Dashs Sentinel in Python (we renamed it Watchman-on-the-wall) - and we still use it in prod as-is from Dash (and its still required today since it helps create the budgets etc, creates watchdogs, etc).

In Evo, I have not ported Sentinel to Watchman yet (so its unavailable still), so we do not have to Test it yet.

What I'm considering however, is porting Watchman to c++, so we don't have to run both watchman and Evo as separate programs in each sanc (in the future).  (Thats what this release info was about, but - its really just in step 1).  I'm still going to do some internal testing on my end, then provide more info as how we can test the integrated version of watchman, so please don't worry about testing that yet.





2437
1.4.0.8-TestNet Mandatory Upgrade

- Add Watchman On the Wall (BiblePay version)
- Modify Sanctuary IsSuperblockValid trigger rule to trigger when
fCachedFunding is set
- Add rpc command 'getpogpoints' (this shows the pog points for a
transaction)

2438
** New version coming in one hour **


2439
Now that things are stabilizing, does anyone have any questions about what we are actually doing with GSCs or how the transmissions or rewards are structured?

Basically, since testnet has 2 minute blocks, the daily contract zips by much quicker (IE about 3.25 hours for each day zipping by).

So the idea is, once per day, the participant of a campaign will receive a "Smart contract reward"  (You should see this in your transaction list).  (Btw, I recommend testing in QT for a while until all of our bugs are worked out, as you can see the labels and things and double click on the transaction etc).

Currently, the miner is set to send a "GSC Transmission" once an hour (this could be more like once per 12 hours in Prod, to prevent spam).
The GSC transmission contains the Stake that your node will send for the first campaign (the only active campaign: POG).

So in theory, if we hone in on one smart contract day, we should see 3 transmissions, and one payment.

We should double click on the 3 transmissions and check how much coin-age we sent, and then reconcile this to the points and the reward in the following superblock reward.


EDIT: In the next version we will have a command to audit the points per tx.


2440
Hash:




23:33:59

getblockhash 6450


23:33:59

640b069e1e802d1ae8ab2a632674b9617055974bc41e21391e30f05054a0eecf


2441
1.4.0.7-TestNet Mandatory Upgrade

- Add 'select some' feature to coin control to help people consolidate
wallets (this selects 20% of the list)
- Add 'exec bankroll' rpc feature - this allows people to consolidate
coins into bigger notes
- Added business logic to prevent generation of bad gsc superblocks
- Added checkpoint
- Allow forcing a gsc client transmission (exec sendgscc)
- Widen Amount in Send money UI page
- Add nickname to exec prominence, Add ability to run prominence from
prior heights, future or last superblock (exec prominence last | future
| height); default is future
- Add nickname to exec getcampaigns
- Raise absurdly high fee 100* higher (this is about 1 bbp compared to
.001 bbp) as the fee was too low to send a 100 output transaction from
coin control in the past
- Increment version for prior incompatibility
- Remove Log Spam


** I believe the Sanctuaries will need to:
rm evodb -r
rm chainstate -r
rm blocks -r
resync
** 
(The regular nodes are most likely OK).  We need to ensure we are all in sync after restarting.


2442
Ok all, we are doing really good, but we need an update.

There is a missing rule on the sanc side, and I feel that if we don't stop now we may go out of sync without the rule.  The chain is good, but please stop testing.

I have a nice punchlist of things we need to add anyway.

Please hang on for the next version.


2443
BTW, I can create a sanctuary as well, need 1 000 000 more tBBP:

yTdd2pbWbHTnxjj8iGmRgzHFraQcMDjP2w
Sure, that will help stabilize things.  Sent.


2444
This is the hash Im seeing currently guys:

15:36:49

getblockhash 6100


15:36:49

97f052dc466dbfca07b386618aea0c9d70dccd15b974890d929f0420b1c6c60d



2445
I've got to head out to church but if anyone is having problems sending a gscc, in addition to the coin-age advice above (which works alone) but this is for convenience, you can optionally add this to your config file:

campaignname_coinagepercentage=.001-.999

This is the coin age percentage the client side uses to select coins.  If you have too many coins, you could for example do:
pog_coinagepercentage=.005

And it would theoretically use .005% of your coins (meaning you dont need to consolidate them in coin control) and they would eventually auto consolidate.
Then you can increase the percentage later.



Pages: 1 ... 156 157 158 159 160 161 162 [163] 164 165 166 167 168 169 170 ... 263