Author Topic: [Witness Proposal] roelandp  (Read 35918 times)

0 Members and 1 Guest are viewing this topic.

Offline R

  • Hero Member
  • *****
  • Posts: 1004
    • View Profile
Updated all my nodes to BTS 5.0.0.

And to 6.0.0 now yeah? How're things going?

Offline roelandp

  • Full Member
  • ***
  • Posts: 114
  • Witness, dad, kitesurfer, event organiser
    • View Profile
    • RoelandP.nl
  • BitShares: roelandp
  • GitHub: roelandp
Updated all my nodes to BTS 5.0.0.

Offline roelandp

  • Full Member
  • ***
  • Posts: 114
  • Witness, dad, kitesurfer, event organiser
    • View Profile
    • RoelandP.nl
  • BitShares: roelandp
  • GitHub: roelandp
It took it bit longer but my new feed server is now getting its prices based on past history as far as I can tell. Will need to add binance usdt pair now in the mix.

Offline roelandp

  • Full Member
  • ***
  • Posts: 114
  • Witness, dad, kitesurfer, event organiser
    • View Profile
    • RoelandP.nl
  • BitShares: roelandp
  • GitHub: roelandp
Updates: A once in a lifetime trip got me and my family on the road after SteemFest in Bangkok.

Obviously I have been monitoring my services and got help from the monitoring scripts:

1. Once missed 7 blocks in a row before backup switched and continued producing afterwards. It appeared to be a network connectivity issue with the hosting provider.

2.  My pricefeed script was outdated and not working according to BAIP2. This has been fixed by installing a brand new pricefeed server. However my BAIP historic feed collection is not complete yet as it just started fresh with collecting and storing feeds, which means my feeds are a little bit off the chart. I expect this to be evened out in the coming 24 hours.

Thank you for your continued support and trust.

Offline liondani

  • Hero Member
  • *****
  • Posts: 3737
  • Inch by inch, play by play
    • View Profile
    • My detailed info
  • BitShares: liondani
  • GitHub: liondani
So glad... it proves you are a human like us...   :)


PS Thanks for your never-ending contributions to bitshares community.

Offline roelandp

  • Full Member
  • ***
  • Posts: 114
  • Witness, dad, kitesurfer, event organiser
    • View Profile
    • RoelandP.nl
  • BitShares: roelandp
  • GitHub: roelandp
Witness Outage explained.  A Perfect Storm

During the day & night of 11 - 12 september 2019 my witness stopped producing blocks for several hours, so bad. This is an unforgivable failure and should not have happened, with multiple failovers running and a monitoring script in place to automatically switch.

But still it happened.... What was going on?
It appears a perfect storm happened: Segfaulted main node (?) meh. And my witnessMonitorFailover script got stuck so I did not receive notifications to check. This is the first time in 1000+ days producing blocks.

After investigating it was an outlying coincidence: The server provider on which I have my monitoring script running, had an unexpected maintenance to the vps environment rack (?!!), causing the script to become unresponsive. (FYI i have bitshares related nodes in 3 different providers @ 4 different physical locations).

Most painful thing was that I relied 100% on my failover script. I was missing blocks while literally sitting behind my computer. And even when I launch my browser I have an overview page about witness work opened by default, ... But i didnt launch a new browser... Bummer.

Learning:
- double redundancy on failover scripts or at least a monitoring & notify tool on a second server is not such a bad idea + don't forget to check all nodes before going to bed (!)

Sorry for unwantingly delaying your transactions and I will learn from this.

See you on the chain & thank you for your continued support,

RoelandP

Offline R

  • Hero Member
  • *****
  • Posts: 1004
    • View Profile
Hey RoelandP, It was great meeting you in person briefly at the Bitfest event.

Would you be interested in publishing price feeds for 3 new Algorithm Based Assets on the BTS DEX? They're called Verthandi, Skuld and Urthr.

https://whaleshares.io/bitshares/@customminer/norns-three-phase-oscillating-algorithm-based-assets-on-the-bts-dex

Here's the new price feed script repo: https://github.com/BTS-CM/Norns
New parallel price feed script: https://github.com/BTS-CM/Norns/blob/master/parallel_feed.py (change the wss server & min price feed value difference at your discretion).

It would be massively appreciated, thanks 👍
« Last Edit: January 23, 2019, 02:40:52 am by Customminer »

Offline gghi

  • Hero Member
  • *****
  • Posts: 510
    • View Profile
  • BitShares: ttt888
there's someways to get smartcoin premium, for bitCNY, you can

1. get the bitCNY deposit/withdraw fee from magicwallet and then calculate out the bitCNY premium.

or

2. from exchange like AEX or ZB get BTS price in CNC or QC, it can be regarded as BTS price in fiat as CNC and

QC are IOU of CNY.  with the BTS price in bitCNY, you can calculate out the premium,
    new feed price=old feed  price*(bitcny/cny+0.02)^3

Offline roelandp

  • Full Member
  • ***
  • Posts: 114
  • Witness, dad, kitesurfer, event organiser
    • View Profile
    • RoelandP.nl
  • BitShares: roelandp
  • GitHub: roelandp



Hey hey as you all probably know bitshares.foundation is organising the first BitFest Conference from Fri, 21 Sep 2018, 12:00 – Sun, 23 Sep 2018, in Amsterdam, my hometown. Looking forward to meeting many of you there... Don't have a ticket yet? Check out https://bitfest.in for details and the shoppe!

Seeing so many BTS'sers flocking to Amsterdam's capital I can't resist to add my share to the program by bringing signature dutch pancakes (family recipe, my brother has a pancake restaurant), on the personally sponsored 'BitFest Farewell Pancakes' event in the Volkshotel on the Sunday 23 September from 10AM - 1PM (aboutish).

Before heading back to home, I invite you for a last moment of togetherness. Close off Bitfest with some breakfast pancakes and a coffee or other drink, courtesy of urs witness. Next to running a reliable block producer, pricefeeds, seed node and rpc node, some add-on apps / scripts for the community I feel every witness should bake pancakes. :P

BitFest Farewell Pancakes
Sunday 23 September - 10 AM - 1 PM

Volkshotel - Petit Canvas (7th Floor)
Address: Wibautstraat 150, 1091 GR Amsterdam
Subway: 51,53,54 - 5 mins from Central Station
- afterwards easy to go to Schiphol by Uber or Train too. (Amstel Station is on 100 meters)

Participation: free for Bitfest Attendees, bring your badge so waiters are not in doubt.

RSVP in advance (for groceries) obligatory - Please signup via: https://goo.gl/forms/uShO5bfp4CnluHsl2

Offline roelandp

  • Full Member
  • ***
  • Posts: 114
  • Witness, dad, kitesurfer, event organiser
    • View Profile
    • RoelandP.nl
  • BitShares: roelandp
  • GitHub: roelandp
Wow, time flies! Almost a year since my original witness announcement.

I've just recently fired up a websocket api node at  wss://btsws.roelandp.nl/ws

The past year was great full of highs & lows but my main highs were organising SteemFest in Lisbon (including organising a hackathon for Bitshares and other graphene chains) and most excitement was the shutdown and restart of the BTS chain past july due to an unforeseen error in the BTS software. (fyi: main lows were in family health sphere :( )

I would like to take an opportunity to summarise my contributions for Bitshares platform past year, if people drop by this thread:


Thank you for your enduring trust and let's make it another great year for the Dex!

Offline roelandp

  • Full Member
  • ***
  • Posts: 114
  • Witness, dad, kitesurfer, event organiser
    • View Profile
    • RoelandP.nl
  • BitShares: roelandp
  • GitHub: roelandp
https://gist.github.com/roelandp/a676e2915ca9ac999cecab90f698e5c6#file-pf-hertz-py-L61

if we need to go back & forth quicklier, please hook me up on telegram. you can guess my username.

Offline R

  • Hero Member
  • *****
  • Posts: 1004
    • View Profile
@roelandp: What price feed script are you using? You're quite far out from the intended price feed value.

I've added a public API for looking up a reference Hertz price feed: https://btsapi.grcnode.co.uk/get_hertz_value?api_key=123abc

Thanks

Offline R

  • Hero Member
  • *****
  • Posts: 1004
    • View Profile
cool, for now I'll join the experiment!
Excellent, thanks for your participation :)

Now to get another 6 witnesses onboard & Hertz will be live!

Offline roelandp

  • Full Member
  • ***
  • Posts: 114
  • Witness, dad, kitesurfer, event organiser
    • View Profile
    • RoelandP.nl
  • BitShares: roelandp
  • GitHub: roelandp
cool, for now I'll join the experiment!

Offline R

  • Hero Member
  • *****
  • Posts: 1004
    • View Profile
Hey @Customminer great, sounds interesting, would love to learn a bit more about your thoughts behind the oscillation. Do you have some more info on the (fixed) formula and where can I learn a bit more about the Hertz asset? ... what day would be 0% etc. etc.

Hey,

Within my repo (https://github.com/BTS-CM/scripts) the following files are worth looking at:
* hertz_calculator.xlsx : A spreadsheet for evaluating the effect of different sine wave variables (amplitude, period, etc).
* hertz-verification.py : Used for verifying that the phase offset lines up appropriately.
* hertz-feed.py : What you'd use if you don't use wackou or xeroc's price feed scripts.

Within wackou's repo, here's my code entries: (Note: The pull request #36 needs implemented, or you can change 1/3 to 0.14 if using this script library)
* https://github.com/wackou/bts_tools/blob/master/bts_tools/feeds.py#L275
* https://github.com/wackou/bts_tools/blob/master/bts_tools/feeds.py#L441

And within xeroc's repo: (Issue #25 addresses the inaccurate amplitude comments)
* https://github.com/xeroc/bitshares-pricefeed/blob/master/bitshares_pricefeed/examples/hertz.yaml

Example python code snippet:
Code: [Select]
hz_reference_timestamp = pendulum.parse(reference_timestamp).timestamp() # Retrieving the Bitshares2.0 genesis block timestamp
hz_period = pendulum.SECONDS_PER_DAY * period_days
hz_phase = pendulum.SECONDS_PER_DAY * phase_days
hz_waveform = math.sin(((((current_timestamp - (hz_reference_timestamp + hz_phase))/hz_period) % 1) * hz_period) * ((2*math.pi)/hz_period)) # Only change for an alternative HERTZ ABA.
hz_value = reference_asset_value + ((amplitude * reference_asset_value) * hz_waveform)

---

So The idea is that with 14% amplitude, and a period of 28 days the value changes 2% every day. We use a phase offset (date/time) to make Wednesday (mid working week) the most important day for Hertz. On Wednesdays, Hertz price feed should be: $1.00 (start), $1.14 (first week passed), $1.00 (2nd week passed), $0.86 (3rd week), $1.00 (final week -> repeat). Check out the spreadsheet calculator to see the value through the month.

I've got some thoughts regarding how the market could potentially react: https://steemit.com/hertz/@cm-steem/what-is-the-hertz-algorithm-based-asset

Regarding oscillation, I believe that we could create phases of buying and sell pressure (through debt destruction as the price feed decreases & price appreciation as it increases), whether this will be realized and become popular is unknown. To make the first Hertz token stable, I significantly reduced the planned amplitude from 50% to 14%. A high amplitude would require high frequency price feed publishing, by decreasing the amplitude I was able to increase the maximum pricefeed lifetime from 220 to 1440 (more acceptable for publishers, hopefully).

Ideally, if this succeeds, we'll see similar algorithm based assets issued which oscillate using different wave equations (cos instead of sin) as well as different hertz parameters (within reason) and backing asset. The reason I created the spreadsheet calculator was for not just my own research but to spread the idea so that others may consider making similar ABAs.

It'd be interesting to create an opposite hertz token with the same parameters except a 2 week phase offset to produce the exact opposite price feed modification/oscillation.

Do you have any specific questions about Hertz?
« Last Edit: January 11, 2018, 01:35:00 am by Customminer »