Author Topic: [Witness Proposal] 1.6.129 - zapata42-witness  (Read 465 times)

0 Members and 1 Guest are viewing this topic.

Online zapata42

  • Jr. Member
  • **
  • Posts: 49
    • View Profile
  • BitShares: zapata42
[Witness Proposal] 1.6.129 - zapata42-witness
« on: July 30, 2018, 08:21:09 pm »
Hello,

dear Bitshares community, I want to propose my services as a Bitshares Witness.

Please vote for zapata42-witness.

Who am I?

I am a developer with 13 years of experience in finance sector, based in Paris (France). I have worked for BNP Paribas Corporate Investment Banking in the equity derivatives business for the past 10 years in projects as varied as price publication, position keeping or request for quotes, and as a developer, technical lead or architect. Java is my main programming language but I have good knowledge of Python, Javascript, and Ruby. See below for my full resume.

I came to know Bitshares about one year ago, and since then I closely followed it as I was impressed by the technology, the balanced economical model and the distributed governance. I started to contribute on my spare time as I could:

Now I want to be more involved in Bitshares, and as I am not a C++ nor a React programmer (yet?), I feel like witness role currently suit me best to help the community. You will found below my current setup, and what I plan to do once voted in.


My current setup:

    Hardware: 3 x VPS 4 cores CPU at 2.4ghz, 24GB RAM, 100GB SSD hard drive, 250Mpbs internet bandwith, Location: France.
    (I consider this a minimum, see below for my target plan)
   
    I run 2 witness mainnet nodes (account zapata42-witness) and 2 witness testnet node (witness-zapata).
    They are monitored through an improved version of @clockwork's telegram monitoring bot that handle automatic key switch and price feed monitoring.

    The price feed is ready, I already publish @nasdaq assets (see AMAZONCOM) and I use a stabilized version of @xeroc's pricefeed.

    Additionnaly I host some services:
        Mainnet API:         https://api.dex.trading  (max-ops-per-account = 100)
        Mainnet Seed:       seed.dex.trading:2001
        Testnet API:          https://testnet.dex.trading
        Wallet:                  https://wallet.dex.trading or https://bitshares.dex.trading (patched version that use my referral link as default)

    Services are served through multiple proxies (currently NGINX) that do rate limiting and SSL termination.
    For SSL certificate is issued by Let's encrypt and renewal is automated.
    Everything run on a private multi datacenter Kubernetes cluster (so fully Dockerized and resilient) and monitored through Prometheus/Grafana.
    The setup is automated and ready to scale, see my plan below.

My plan:

If I get voted as an active witness my focus will be on:
  • Providing a stable block producer
  • Providing a stable, accurate and auditable price feed of most Market Pegged Assets
  • Grow Bitshares infrastructure, community and software ecosystem
This means:
  • Upgrade the infrastructure. With the current witness pay (~30 witness / bts=0.2$ / 1bts per block) I aim to add:
                        6 x Dedicated 4c/8t 3Ghz CPU, 64go RAM, 1To SSD hard drive, 250Mpbs internet bandwith, Locations: france, germany, uk, canada, singapore, australia
  • Continuous improvements of the setup like: geo optimizations for latency (GeoDNS + regional vlan), premium wildcard SSL certificate, premium api acess, ...
  • Additional to classic API nodes, I will install and serve community tools like: Open-Explorer, Python API Backend, Elastic Search database with a data visualization tool like Kibana/Graphana, Bitshares HUG, and any future interesting project of the community;
  • Active participation (code contributions, code/issue/bsip review, testing) to community initiatives (core, ui, tools, documentation) as a developer;
  • Participate to meetups and hackathons to promote Bitshares;
  • Regularly run third party professional penetration testing on the setup;
  • if BTS price allow me to do it, hire other people to help me.

So why voting for zapata42-witness ?
  • Experienced software developer with professional experience in developing and running financial highly critical software;
  • Professional experience in price contribution in a main financial company;
  • Proven will and capacity to contribute on Bitshares related projects;
  • Full setup (witness, pricefeed + api) in place, and wide range of services in target;
  • Active investment in Bitshares ecosystem (infrastructure & time) planned;
  • Knowledgeable in blockchain internals;
  • Relations in French fintech and financial institutions;
  • Fresh blood.


Contact:
  Telegram: @Zapata_42
  LinkedIn profile
« Last Edit: July 30, 2018, 08:26:41 pm by zapata42 »

Offline Bangzi

  • Full Member
  • ***
  • Posts: 128
    • View Profile
    • Steemit: Bangzi
  • BitShares: bangzi
Re: [Witness Proposal] 1.6.129 - zapata42-witness
« Reply #1 on: July 30, 2018, 10:34:13 pm »
Voted! +5% +5% +5%
Please Vote for My Witness: Bangzi
My Blog: https://steemit.com/@bangzi
请投票支持比特股见证人: Bangzi

Offline xeroc

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 12620
  • ChainSquad GmbH
    • View Profile
    • ChainSquad GmbH
  • BitShares: xeroc
  • GitHub: xeroc
Re: [Witness Proposal] 1.6.129 - zapata42-witness
« Reply #2 on: July 31, 2018, 08:55:02 am »
Can you please provide a block producer for the testnet as well?
To get my votes, I usually look how well they perform on the testnet (block production only, no price feeds).
Give BitShares a try! Use the http://testnet.bitshares.eu provided by http://bitshares.eu powered by ChainSquad GmbH

Online zapata42

  • Jr. Member
  • **
  • Posts: 49
    • View Profile
  • BitShares: zapata42
Re: [Witness Proposal] 1.6.129 - zapata42-witness
« Reply #3 on: July 31, 2018, 10:34:10 am »
Can you please provide a block producer for the testnet as well?
To get my votes, I usually look how well they perform on the testnet (block production only, no price feeds).

My testnet block producer is running since early may and active since 12/05/2018. The account is: witness-zapata.

I also consider that running a testnet block producer is a mandatory task for a witness. I always test my changes on testnet before applying them on mainnet. It was also required for some developments. I am trying to keep it as stable as the main one.

On testnet, I missed 579 blocks so far:
  • the first ~540 was because initially I didn't put the correct private/public key pair, and didn't notice that I was activated. To prevent the issue on mainnet I monitor the activation (see this commit)
  • then I missed ~20 to update the version and at that time I was not running a backup node;
  • 1 block missed for a non investigated issue (short network loss);
  • then I missed ~15 block during my chaos testing to validate the backup procedures: I switch signing key after 3 blocks, and I tested muliple cases.
Note that I have heavely updated the underlying servers and kubernetes cluster while running the witness without issues.
« Last Edit: July 31, 2018, 01:02:35 pm by zapata42 »

Offline Digital Lucifer

Re: [Witness Proposal] 1.6.129 - zapata42-witness
« Reply #4 on: July 31, 2018, 11:01:12 am »
Can you please provide a block producer for the testnet as well?
To get my votes, I usually look how well they perform on the testnet (block production only, no price feeds).

My testnet block producer is running since early may and active since 12/05/2018. The account is: witness-zapata.

I also consider that running a testnet block producer is a mandatory task for a witness. I always test my changes on testnet before applying them on mainnet. It was also required for some developments. I am trying to keep it as stable as the main one.

On testnet, I missed 579 blocks so far:
  • the first ~540 was because initially I didn't put the correct private/public key pair, and didn't notice that I was activated. To prevent the issue on mainnet I monitor the activation (see this commit)
  • then I missed ~20 to update the version and at that time I was not running a backup node;
  • 1 block missed for a non investigated issue (short network loss);
  • then I missed ~15 block during my chaos testing to validate the backup procedures: I switch signing key after 3 blocks, and I tested muliple cases.
Note that I have heavely updated the underlying servers and kubernetes cluster while running the witness without issues.

Voted (just humble ~200k BTS). I have a testnet witness, so I can co-relate with issues you had and highly appreciate your precision in reporting.

Milos (Mike) Preocanin - General Manager @ Syntek Solutions
TOANDI Co., LTD. (BOI Approved) - TAX ID: 0205549016913 - 95/5 Moo 4 Siam Country Club Rd.
Nong Prue, Bang Lamung, Chonburi 20250, Thailand.

Offline fav

  • Administrator
  • Hero Member
  • *****
  • Posts: 4239
  • No Pain, No Gain
    • View Profile
  • BitShares: fav
Re: [Witness Proposal] 1.6.129 - zapata42-witness
« Reply #5 on: July 31, 2018, 02:24:31 pm »
voted
► How-to Buy BitShares: https://goo.gl/i9j2YZ

Offline clockwork

  • Committee member
  • Full Member
  • *
  • Posts: 120
    • View Profile
  • BitShares: clockwork
Re: [Witness Proposal] 1.6.129 - zapata42-witness
« Reply #6 on: July 31, 2018, 09:18:35 pm »
Will vote for this. Zapata is a huge asset to the community :)

Offline abit

  • Committee member
  • Hero Member
  • *
  • Posts: 3207
    • View Profile
    • Steemit Blog
  • BitShares: abit
  • GitHub: abitmore
Re: [Witness Proposal] 1.6.129 - zapata42-witness
« Reply #7 on: July 31, 2018, 11:27:21 pm »
Thanks. Voted.

Please submit your mainnet API node to https://github.com/bitshares/bitshares-ui/ .
BTS account: abit
BTS committee member: abit
BTS witness: in.abit

Offline xeroc

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 12620
  • ChainSquad GmbH
    • View Profile
    • ChainSquad GmbH
  • BitShares: xeroc
  • GitHub: xeroc
Re: [Witness Proposal] 1.6.129 - zapata42-witness
« Reply #8 on: August 02, 2018, 10:38:22 am »
voted
Give BitShares a try! Use the http://testnet.bitshares.eu provided by http://bitshares.eu powered by ChainSquad GmbH

Online zapata42

  • Jr. Member
  • **
  • Posts: 49
    • View Profile
  • BitShares: zapata42
Re: [Witness Proposal] 1.6.129 - zapata42-witness
« Reply #9 on: August 05, 2018, 02:45:18 pm »
Thanks for your votes so far.

Please submit your mainnet API node to https://github.com/bitshares/bitshares-ui/ .

My nodes will be available in the next UI release (see PR). You can already find them in the staging wallet.
Any feedback on the latency is welcome.

My testnet witness (witness.zapata) and API node (wss://testnet.dex.trading) have been updated (see release thread).
I missed one block in the deployment process as I switched my signing key back to my main witness node while it was my turn.
I will take care to avoid this case in the future.
(Note that I had a typo in my previous post, you should have read 597, instead of 579. I'm now at 598).

This week I also added Bitshares integration to EOSIO/demux-js. You can find out more information on Demux here.

Offline xeroc

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 12620
  • ChainSquad GmbH
    • View Profile
    • ChainSquad GmbH
  • BitShares: xeroc
  • GitHub: xeroc
Re: [Witness Proposal] 1.6.129 - zapata42-witness
« Reply #10 on: August 08, 2018, 08:24:58 am »
This week I also added Bitshares integration to EOSIO/demux-js. You can find out more information on Demux here.
Extraordinary!
Give BitShares a try! Use the http://testnet.bitshares.eu provided by http://bitshares.eu powered by ChainSquad GmbH

Offline apasia.tech

Re: [Witness Proposal] 1.6.129 - zapata42-witness
« Reply #11 on: August 08, 2018, 04:08:57 pm »
Just wanted to say, I've read the full proposal with enormous interest, in a good way and with the background and resume - this is a welcome addition to BitShares. Furthermore, I've heard more good feedback from others who welcome this witness proposal. Some exceptional contributions we didn't see coming, thank you.
Ross Walker - Founder @ apasia.tech
AP Asia Tech Co., LTD.  TAX ID: 0205549016913 - 14/11 Floraville Complex 2, Pattanakarn Soi 51, Suan Luang, Bangkok 10250, Thailand.

Online zapata42

  • Jr. Member
  • **
  • Posts: 49
    • View Profile
  • BitShares: zapata42
Re: [Witness Proposal] 1.6.129 - zapata42-witness
« Reply #12 on: August 17, 2018, 10:02:26 pm »
Following current various discussions on price feeds I spend a couple of days tuning mine.


Here is the algorithm I use:
  • Get BTC/USD, ETH/USD, USDT/USD from CoinMarketCap.com (fallback to worldcoinindex.com)
  • Get Fiat forex USD/CNY, USD/EUR, ... from CurrencyLayer (fallback to OpenExchangeRates)
  • Get BITCNY/CNY from MagicWallet (use last 1h data, and if not enough trades use last 24h data)
  • Get last price and daily volume of BTS/USDT, BTS/BTC, BTS/ETH if available from Centralized Exchanges: Aex, Binance, CoinEgg, CoinTiger, Huobi, Lbank, Poloniex, Zb
  • Get last price and daily volume from BTS/OPEN.BTC, BTS/GDEX.BTC on BitShares DEX (and consider xxx.BTC = BTC)
  • Get last price for BITCNY/BTC, BITCNY/ETH from CoinTiger
  • Get last price for BTS/BITCNY from BitShares DEX

With that I compute all possible routes using BTC, ETH, USDT or BITCNY as intermediate asset.
Then I use a weighted average using the BTS/{BTC,ETH,USDT,BITCNY} daily volume.

Here is a sample result of all the routes for USD/BTS and CNY/BTS at 17/08/2018 21:58 UTC:

Code: [Select]
+------+-------+--------------+-------+--------------------+------------------------------------------------------------------------------------+
| base | quote | price        | diff  | quote volume       | source                                                                             |
+------+-------+--------------+-------+--------------------+------------------------------------------------------------------------------------+
| CNY  | BTS   | 0.8008708826 | +1.58 | 31726149.140697803 | ['magicwallet - CNY:BITCNY', 'bitshares - BITCNY:BTS']                             |
| CNY  | BTS   | 0.7775048363 | -1.38 | 275814.57983       | ['openexchangerates - CNY:USD', 'coinmarketcap - USD:BTC', 'gdex - BTC:BTS']       |
| CNY  | BTS   | 0.7767051983 | -1.48 | 6099695.41644055   | ['openexchangerates - CNY:USD', 'coinmarketcap - USD:BTC', 'poloniex - BTC:BTS']   |
| CNY  | BTS   | 0.7776046832 | -1.37 | 6823092.1          | ['openexchangerates - CNY:USD', 'coinmarketcap - USD:BTC', 'zb - BTC:BTS']         |
| CNY  | BTS   | 0.7826822718 | -0.73 | 1944911.60043      | ['openexchangerates - CNY:USD', 'coinmarketcap - USD:BTC', 'openledger - BTC:BTS'] |
| CNY  | BTS   | 0.7897477292 | +0.17 | 8090672.0          | ['openexchangerates - CNY:USD', 'coinmarketcap - USD:BTC', 'coinegg - BTC:BTS']    |
| CNY  | BTS   | 0.7821021076 | -0.80 | 719268.12          | ['openexchangerates - CNY:USD', 'coinmarketcap - USD:BTC', 'cointiger - BTC:BTS']  |
| CNY  | BTS   | 0.7758057134 | -1.60 | 3068685.9901371617 | ['openexchangerates - CNY:USD', 'coinmarketcap - USD:BTC', 'huobi - BTC:BTS']      |
| CNY  | BTS   | 0.7816523652 | -0.86 | 1648254.1922999984 | ['openexchangerates - CNY:USD', 'coinmarketcap - USD:BTC', 'lbank - BTC:BTS']      |
| CNY  | BTS   | 0.7798533954 | -1.08 | 5457868.0          | ['openexchangerates - CNY:USD', 'coinmarketcap - USD:BTC', 'binance - BTC:BTS']    |
| CNY  | BTS   | 0.7968423519 | +1.07 | 275814.57983       | ['magicwallet - CNY:BITCNY', 'cointiger - BITCNY:BTC', 'gdex - BTC:BTS']           |
| CNY  | BTS   | 0.7960228259 | +0.97 | 6099695.41644055   | ['magicwallet - CNY:BITCNY', 'cointiger - BITCNY:BTC', 'poloniex - BTC:BTS']       |
| CNY  | BTS   | 0.7969446821 | +1.08 | 6823092.1          | ['magicwallet - CNY:BITCNY', 'cointiger - BITCNY:BTC', 'zb - BTC:BTS']             |
| CNY  | BTS   | 0.8021485567 | +1.74 | 1944911.60043      | ['magicwallet - CNY:BITCNY', 'cointiger - BITCNY:BTC', 'openledger - BTC:BTS']     |
| CNY  | BTS   | 0.8093897408 | +2.66 | 8090672.0          | ['magicwallet - CNY:BITCNY', 'cointiger - BITCNY:BTC', 'coinegg - BTC:BTS']        |
| CNY  | BTS   | 0.8015539631 | +1.67 | 719268.12          | ['magicwallet - CNY:BITCNY', 'cointiger - BITCNY:BTC', 'cointiger - BTC:BTS']      |
| CNY  | BTS   | 0.7951009697 | +0.85 | 3068685.9901371617 | ['magicwallet - CNY:BITCNY', 'cointiger - BITCNY:BTC', 'huobi - BTC:BTS']          |
| CNY  | BTS   | 0.8010930350 | +1.61 | 1648254.1922999984 | ['magicwallet - CNY:BITCNY', 'cointiger - BITCNY:BTC', 'lbank - BTC:BTS']          |
| CNY  | BTS   | 0.7992493226 | +1.38 | 5457868.0          | ['magicwallet - CNY:BITCNY', 'cointiger - BITCNY:BTC', 'binance - BTC:BTS']        |
| CNY  | BTS   | 0.7739653886 | -1.83 | 17591765.91406     | ['openexchangerates - CNY:USD', 'coinmarketcap - USD:USDT', 'aex - USDT:BTS']      |
| CNY  | BTS   | 0.7767270849 | -1.48 | 15976040.0         | ['openexchangerates - CNY:USD', 'coinmarketcap - USD:USDT', 'zb - USDT:BTS']       |
| CNY  | BTS   | 0.7794887812 | -1.13 | 10213236.688898135 | ['openexchangerates - CNY:USD', 'coinmarketcap - USD:USDT', 'huobi - USDT:BTS']    |
| CNY  | BTS   | 0.7760030565 | -1.57 | 188647.0           | ['openexchangerates - CNY:USD', 'coinmarketcap - USD:ETH', 'cointiger - ETH:BTS']  |
| CNY  | BTS   | 0.7760030565 | -1.57 | 1040797.2504070019 | ['openexchangerates - CNY:USD', 'coinmarketcap - USD:ETH', 'huobi - ETH:BTS']      |
| CNY  | BTS   | 0.7778900585 | -1.33 | 4698376.790000004  | ['openexchangerates - CNY:USD', 'coinmarketcap - USD:ETH', 'lbank - ETH:BTS']      |
| CNY  | BTS   | 0.7930701250 | +0.59 | 188647.0           | ['magicwallet - CNY:BITCNY', 'cointiger - BITCNY:ETH', 'cointiger - ETH:BTS']      |
| CNY  | BTS   | 0.7930701250 | +0.59 | 1040797.2504070019 | ['magicwallet - CNY:BITCNY', 'cointiger - BITCNY:ETH', 'huobi - ETH:BTS']          |
| CNY  | BTS   | 0.7949986288 | +0.84 | 4698376.790000004  | ['magicwallet - CNY:BITCNY', 'cointiger - BITCNY:ETH', 'lbank - ETH:BTS']          |
| USD  | BTS   | 0.1130179495 | -0.27 | 275814.57983       | ['coinmarketcap - USD:BTC', 'gdex - BTC:BTS']                                      |
| USD  | BTS   | 0.1129017143 | -0.37 | 6099695.41644055   | ['coinmarketcap - USD:BTC', 'poloniex - BTC:BTS']                                  |
| USD  | BTS   | 0.1130324632 | -0.26 | 6823092.1          | ['coinmarketcap - USD:BTC', 'zb - BTC:BTS']                                        |
| USD  | BTS   | 0.1137705405 | +0.39 | 1944911.60043      | ['coinmarketcap - USD:BTC', 'openledger - BTC:BTS']                                |
| USD  | BTS   | 0.1147975740 | +1.30 | 8090672.0          | ['coinmarketcap - USD:BTC', 'coinegg - BTC:BTS']                                   |
| USD  | BTS   | 0.1136862080 | +0.32 | 719268.12          | ['coinmarketcap - USD:BTC', 'cointiger - BTC:BTS']                                 |
| USD  | BTS   | 0.1127709653 | -0.49 | 3068685.9901371617 | ['coinmarketcap - USD:BTC', 'huobi - BTC:BTS']                                     |
| USD  | BTS   | 0.1136208335 | +0.26 | 1648254.1922999984 | ['coinmarketcap - USD:BTC', 'lbank - BTC:BTS']                                     |
| USD  | BTS   | 0.1133593356 | +0.03 | 5457868.0          | ['coinmarketcap - USD:BTC', 'binance - BTC:BTS']                                   |
| USD  | BTS   | 0.1125034561 | -0.72 | 17591765.91406     | ['coinmarketcap - USD:USDT', 'aex - USDT:BTS']                                     |
| USD  | BTS   | 0.1129048957 | -0.37 | 15976040.0         | ['coinmarketcap - USD:USDT', 'zb - USDT:BTS']                                      |
| USD  | BTS   | 0.1133063354 | -0.02 | 10213236.688898135 | ['coinmarketcap - USD:USDT', 'huobi - USDT:BTS']                                   |
| USD  | BTS   | 0.1127996511 | -0.46 | 188647.0           | ['coinmarketcap - USD:ETH', 'cointiger - ETH:BTS']                                 |
| USD  | BTS   | 0.1127996511 | -0.46 | 1040797.2504070019 | ['coinmarketcap - USD:ETH', 'huobi - ETH:BTS']                                     |
| USD  | BTS   | 0.1130739453 | -0.22 | 4698376.790000004  | ['coinmarketcap - USD:ETH', 'lbank - ETH:BTS']                                     |
| USD  | BTS   | 0.1128235134 | -0.44 | 275814.57983       | ['coinmarketcap - USD:USDT', 'coinmarketcap - USDT:BTC', 'gdex - BTC:BTS']         |
| USD  | BTS   | 0.1127074782 | -0.54 | 6099695.41644055   | ['coinmarketcap - USD:USDT', 'coinmarketcap - USDT:BTC', 'poloniex - BTC:BTS']     |
| USD  | BTS   | 0.1128380022 | -0.43 | 6823092.1          | ['coinmarketcap - USD:USDT', 'coinmarketcap - USDT:BTC', 'zb - BTC:BTS']           |
| USD  | BTS   | 0.1135748097 | +0.22 | 1944911.60043      | ['coinmarketcap - USD:USDT', 'coinmarketcap - USDT:BTC', 'openledger - BTC:BTS']   |
| USD  | BTS   | 0.1146000762 | +1.13 | 8090672.0          | ['coinmarketcap - USD:USDT', 'coinmarketcap - USDT:BTC', 'coinegg - BTC:BTS']      |
| USD  | BTS   | 0.1134906222 | +0.15 | 719268.12          | ['coinmarketcap - USD:USDT', 'coinmarketcap - USDT:BTC', 'cointiger - BTC:BTS']    |
| USD  | BTS   | 0.1125769542 | -0.66 | 3068685.9901371617 | ['coinmarketcap - USD:USDT', 'coinmarketcap - USDT:BTC', 'huobi - BTC:BTS']        |
| USD  | BTS   | 0.1134253602 | +0.09 | 1648254.1922999984 | ['coinmarketcap - USD:USDT', 'coinmarketcap - USDT:BTC', 'lbank - BTC:BTS']        |
| USD  | BTS   | 0.1131643122 | -0.14 | 5457868.0          | ['coinmarketcap - USD:USDT', 'coinmarketcap - USDT:BTC', 'binance - BTC:BTS']      |
| USD  | BTS   | 0.1128514039 | -0.42 | 275814.57983       | ['coinmarketcap - USD:ETH', 'coinmarketcap - ETH:BTC', 'gdex - BTC:BTS']           |
| USD  | BTS   | 0.1127353400 | -0.52 | 6099695.41644055   | ['coinmarketcap - USD:ETH', 'coinmarketcap - ETH:BTC', 'poloniex - BTC:BTS']       |
| USD  | BTS   | 0.1128658963 | -0.40 | 6823092.1          | ['coinmarketcap - USD:ETH', 'coinmarketcap - ETH:BTC', 'zb - BTC:BTS']             |
| USD  | BTS   | 0.1136028859 | +0.25 | 1944911.60043      | ['coinmarketcap - USD:ETH', 'coinmarketcap - ETH:BTC', 'openledger - BTC:BTS']     |
| USD  | BTS   | 0.1146284059 | +1.15 | 8090672.0          | ['coinmarketcap - USD:ETH', 'coinmarketcap - ETH:BTC', 'coinegg - BTC:BTS']        |
| USD  | BTS   | 0.1135186776 | +0.17 | 719268.12          | ['coinmarketcap - USD:ETH', 'coinmarketcap - ETH:BTC', 'cointiger - BTC:BTS']      |
| USD  | BTS   | 0.1126047837 | -0.63 | 3068685.9901371617 | ['coinmarketcap - USD:ETH', 'coinmarketcap - ETH:BTC', 'huobi - BTC:BTS']          |
| USD  | BTS   | 0.1134533995 | +0.11 | 1648254.1922999984 | ['coinmarketcap - USD:ETH', 'coinmarketcap - ETH:BTC', 'lbank - BTC:BTS']          |
| USD  | BTS   | 0.1131922869 | -0.12 | 5457868.0          | ['coinmarketcap - USD:ETH', 'coinmarketcap - ETH:BTC', 'binance - BTC:BTS']        |
| USD  | BTS   | 0.1126973406 | -0.55 | 17591765.91406     | ['coinmarketcap - USD:BTC', 'coinmarketcap - BTC:USDT', 'aex - USDT:BTS']          |
| USD  | BTS   | 0.1130994721 | -0.20 | 15976040.0         | ['coinmarketcap - USD:BTC', 'coinmarketcap - BTC:USDT', 'zb - USDT:BTS']           |
| USD  | BTS   | 0.1135016035 | +0.16 | 10213236.688898135 | ['coinmarketcap - USD:BTC', 'coinmarketcap - BTC:USDT', 'huobi - USDT:BTS']        |
| USD  | BTS   | 0.1135893251 | +0.23 | 31726149.140697803 | ['coinmarketcap - USD:BTC', 'cointiger - BTC:BITCNY', 'bitshares - BITCNY:BTS']    |
| USD  | BTS   | 0.1139091655 | +0.52 | 31726149.140697803 | ['coinmarketcap - USD:ETH', 'cointiger - ETH:BITCNY', 'bitshares - BITCNY:BTS']    |
| USD  | BTS   | 0.1129661203 | -0.32 | 188647.0           | ['coinmarketcap - USD:BTC', 'coinmarketcap - BTC:ETH', 'cointiger - ETH:BTS']      |
| USD  | BTS   | 0.1129661203 | -0.32 | 1040797.2504070019 | ['coinmarketcap - USD:BTC', 'coinmarketcap - BTC:ETH', 'huobi - ETH:BTS']          |
| USD  | BTS   | 0.1132408193 | -0.07 | 4698376.790000004  | ['coinmarketcap - USD:BTC', 'coinmarketcap - BTC:ETH', 'lbank - ETH:BTS']          |
+------+-------+--------------+-------+--------------------+------------------------------------------------------------------------------------+

And the final results I get:

Code: [Select]
+--------+------------+--------------+--------------+---------------------+---------------------+---------------------+--------------+---------------------+--------+--------+-------------------------+-------------+
| symbol | collateral |  new price   |     cer      |         mean        |        median       |      wgt. avg.      | wgt. std (#) |      blockchain     |  mssr  |  mcr   |      my last price      | last update |
+--------+------------+--------------+--------------+---------------------+---------------------+---------------------+--------------+---------------------+--------+--------+-------------------------+-------------+
|  CNY   |    BTS     | 0.7884066494 | 0.9460879792 | 0.7880032477 (0.05) | 0.7862150005 (0.28) | 0.7884066494 (0.00) |  1.17 (28)   | 0.7728333333 (2.02) | 110.0% | 175.0% | -1.0000000000 (-178.84) | unknown ago |
|  USD   |    BTS     | 0.1133240311 | 0.1189902327 | 0.1132431633 (0.07) | 0.1130994721 (0.20) | 0.1133240311 (0.00) |  0.06 (41)   | 0.1123699660 (0.85) | 110.0% | 175.0% | -1.0000000000 (-111.33) | unknown ago |
+--------+------------+--------------+--------------+---------------------+---------------------+---------------------+--------------+---------------------+--------+--------+-------------------------+-------------+

I use xeroc's pricefeed script that I modified again to add:
  • Composite source to group multiple sources as one (to handle things like fallbacks);
  • Add CoinTiger, CoinEgg, Huobi and MagicWallet sources;
  • Change the way derived routes volumes are computed;
  • Better tracking of source for debug/audit purpose;
  • Various code refactoring and small enhancements.
All code is accessible at Zapata/bitshares-pricefeed.

Your comments are more than welcome, this is intended to be adjusted over time.

Currently my ideas to further improve are:
  • use the volume weighted average of the last X minutes trades instead of the last prices.
  • use the order book depth to weight prices instead of daily volume.
  • plot and track current active feeds and backup/test feeds over time. This will help shareholders to vote accurately.
  • make all the data used for all my feeds publicly available for auditing

I would be able to progress on that once voted. Since then I'm helping Alfredo on the open-explorer (see last PR).
« Last Edit: August 17, 2018, 10:51:03 pm by zapata42 »

Offline abit

  • Committee member
  • Hero Member
  • *
  • Posts: 3207
    • View Profile
    • Steemit Blog
  • BitShares: abit
  • GitHub: abitmore
Re: [Witness Proposal] 1.6.129 - zapata42-witness
« Reply #13 on: August 17, 2018, 11:00:18 pm »
Good job about the price feeding thing. I'd say you're getting quite accurate price data.

You can add a few more markets:

* Aex: BTS/CNC (CNC is IOU CNY)

* Zb: BTS/QC (QC is IOU CNY as well)


BTW, IMHO, Zb's volume is faked, Coinegg's volume is faked, Lbank's volume is faked. Huobi, Binance and Aex? I don't know. Poloniex? I don't trust them because they left a bad history. If adjust their weight to lower, likely we'll get a slightly higher BTS price in the end.
BTS account: abit
BTS committee member: abit
BTS witness: in.abit