Author Topic: [Worker Proposal] Documentation/Technical Support/Python Development  (Read 10060 times)

0 Members and 1 Guest are viewing this topic.

Offline puppies

  • Hero Member
  • *****
  • Posts: 1659
    • View Profile
  • BitShares: puppies
I am also a big fan, and a user of the library.  I cannot state enough how much this eases integration with bitshares.
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline Stan

  • Hero Member
  • *****
  • Posts: 2908
  • You need to think BIGGER, Pinky...
    • View Profile
    • Cryptonomex
  • BitShares: Stan

Actually, there is a genetically identical clone of myself (a twin brother), but
he is not into blockchain business ... yet :)

Anything said on these forums does not constitute an intent to create a legal obligation or contract of any kind.   These are merely my opinions which I reserve the right to change at any time.

Offline xeroc

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 12922
  • ChainSquad GmbH
    • View Profile
    • ChainSquad GmbH
  • BitShares: xeroc
  • GitHub: xeroc
One thing caught me off guard.. svk is now fully independent from CNX and his
worker has a modest daily pay of 19k BTS. I don't think he specified an hourly
rate, but as far as I can tell he's putting in at least 20 hours a week. So I
guess my question is, are you still working for CNX in some capacity? And how
does one determine (in a general sense) if a task should be paid for by CNX vs.
BTS?
I can't tell you how much time @svk puts into BitShares (definitely quite a bit)
but I am fairly certain that he has another day-job. He definitely is worth more
than BitShares can pay him right now and I much appreciate him offering his
service at such a low rate. Take a look at what other companies pay for good
react-js developers!

The other question you are asking is quite a good one since I do have a
contributing agreement with CNX as well and they pay me for work I ask me to
deliver to them. It is part of my calculations and I hope to fill the rest of my
40h/week with worth from CNX *AND* other players in the BitShares/Graphene
space.

As for the distiction of how pays what: The idea was to have BitShares pay for
the services I mentioned above up to 20h/week and fill the rest of my time with
either stuff that I want to do (e.g. peermit.com, bitshares europe) or by jobs
that someone else pays me for, e.g. CNX, PeerTracks, etc.

Quote
That aside.. Dr. Xeroc's services are easily worth 37.50€/h, especially
considering his long history of volunteer work. If we could clone him, I'd hire
his clone at that rate too.  :D
Actually, there is a genetically identical clone of myself (a twin brother), but
he is not into blockchain business ... yet :)

Offline roadscape

xeroc's contributions are very valuable.. just off the top of my head: price feed scripts, documentation, whitepapers, python library,  general & technical support, even security testing apparently ;). All of these things are important *now*. He is also clear-headed and knows how to prioritize in this chaotic world of crypto.

2) We need more non-cryptonomex workers supported, and they should be paid competitively. If bitshares wants to be a serious business, xerox is doing real and very important work insanely cheap. He's low risk, and proven member of the team. If bitshares "can't afford" to pay him, that's a major failure of the system.

+5%

One thing caught me off guard.. svk is now fully independent from CNX and his worker has a modest daily pay of 19k BTS. I don't think he specified an hourly rate, but as far as I can tell he's putting in at least 20 hours a week. So I guess my question is, are you still working for CNX in some capacity? And how does one determine (in a general sense) if a task should be paid for by CNX vs. BTS?

That aside.. Dr. Xeroc's services are easily worth 37.50€/h, especially considering his long history of volunteer work. If we could clone him, I'd hire his clone at that rate too.  :D
http://cryptofresh.com  |  witness: roadscape

Offline xeroc

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 12922
  • ChainSquad GmbH
    • View Profile
    • ChainSquad GmbH
  • BitShares: xeroc
  • GitHub: xeroc
I've been exploring the wallet and ws api, source code, and your work - I think
I may have some solutions to things your working on that can help this library &
proposal. I can send you my bot code to see some things I've done. (It's buggy
so probably still shouldn't share publicly yet.) I can move this discussion to
github.
That would be great!

Quote
On a side note, I actually discovered the duplicate op bug last weekend when I
tried to use my dynamic object for my bot account as the trigger for placing
orders. Those duplicate numbers ended up causing the bot to spam 100s of
transactions per block. I thought it was a bug in my code so I stopped it, but
it turns out it wasn't!
There is one notification triggered once the object change is received and there
is one notification when it is verified by a block.
That allows to react on transactions WITHIN a block interval and you don't need
to wait for it to be verified (unless your business model requires it)

It's a great thing, really .. but makes things a little messy. I have yet to
find a "good" solution to identify a way to deal with it.

The web wallet has an object database (like a map) of objects and uses
notifications mostly to trigger updates of that particular object.

Offline maqifrnswa

  • Hero Member
  • *****
  • Posts: 661
    • View Profile
Though it is a rather "simply" library still. The Websocket notification part
grew slightly in the last days and I may need to rewrite parts of it for
clarity reasons. I would also like to offer an interface for the markets, but
have put it on hold until the cli_wallet and witness API gets more improved.
Last time I checked, it wasn't really possible to get a last_price/volume ticker
for a particular market. Maybe that changed by now.

I've been exploring the wallet and ws api, source code, and your work - I think I may have some solutions to things your working on that can help this library & proposal. I can send you my bot code to see some things I've done. (It's buggy so probably still shouldn't share publicly yet.) I can move this discussion to github.

On a side note, I actually discovered the duplicate op bug last weekend when I tried to use my dynamic object for my bot account as the trigger for placing orders. Those duplicate numbers ended up causing the bot to spam 100s of transactions per block. I thought it was a bug in my code so I stopped it, but it turns out it wasn't!

Code: [Select]
All time most orders placed
Rank Account Count
#1 maqifrnswa.bot 2,962
#2 acc12 1,005
#3 asshole1 679
#4 bts-scotter 367
#5 ccedkbts 276
#6 cc 263
#7 gn1 247
#8 clayop 228
#9 enki 211
#10 bts-awc-cny 191
maintains an Ubuntu PPA: https://launchpad.net/~showard314/+archive/ubuntu/bitshares [15% delegate] wallet_account_set_approval maqifrnswa true [50% delegate] wallet_account_set_approval delegate1.maqifrnswa true

Offline xeroc

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 12922
  • ChainSquad GmbH
    • View Profile
    • ChainSquad GmbH
  • BitShares: xeroc
  • GitHub: xeroc
thanks. what about some (core) features? Like claim vested balances in the GUI, could you do it?
I think so, though I haven't look how far this particular transaction type has been exposed in the library already.

1) I'm a big fan and user of the library. big +5%. We need more people
interacting with the blockchain via scripting. My bot is almost sane enough to
put in the wild as well (release open source), and it relies on his library.
Though it is a rather "simply" library still. The Websocket notification part
grew slightly in the last days and I may need to rewrite parts of it for
clarity reasons. I would also like to offer an interface for the markets, but
have put it on hold until the cli_wallet and witness API gets more improved.
Last time I checked, it wasn't really possible to get a last_price/volume ticker
for a particular market. Maybe that changed by now.

3) I propose even expanding xeroc's proposal. Have the worker fund xeroc, then
xeroc "bill" the worker account for work done at his hourly rate (I'd even
increase that rate). Xeroc should also be allowed the freedom to outsource tasks
included in this worker proposal. Getting workers approved is hard, largely
because of trust issues. People won't do work without getting paid, and people
won't pay without knowing what the work will be. Xeroc is trusted, he can thus
outsource specific tasks and then "bill" his worker account to pay others to do
work. His scope would be limited to what is in his proposal. This way there is
no concern over whether funds will be available (so people will do the work),
and xeroc can optimize as needed. Excess funds can be returned or just used for
the next quarter.
Sounds like a great plan but at the current stage I only offer my personal
experience and capabilities to BitShares. Once the ecosystem grows and BitShares
can effort more independent worker contracts, we may see a BitShares Europe as
an independent software house working for/on BitShares. But it is quite some
time until we reach that point, IMHO.

From my experience, i put a lot of time in to making an automated ubuntu/debian
build and distribution system. People don't know this, but bitshares actually
has a 100% working system exactly like
https://github.com/nodesource/distributions, but it was never funded so it never
went live. The work was essentially wasted. For me, it doesn't matter because I
don't need the money and I took it as a challenge to build, but freelance devs
won't take that risk. Streamlining the system would be important. Allowing
"managers" to bill worker accounts as needed will lower that barrier. All we
have to do is to trust xeroc's priorities and have clear communication between
him and proxies so it will be renewed as reasonable levels as necessary.
In the future I am sure we will see a set of independent freelancers and bigger
software development companies seeking funding through workers, or each through
Feed Backed Assets. However, most of my work is not profitable and thus cannot
be funded by FBAs or other profitable means (in contrast to peermit.com, which
should eventually be able to stand on his own, independent of funding from
BitShares)

thanks. that's why I asked, I'd rather see some basic stuff done before we move
to offline signing and other optional things
Sure, and that is why I stopped working on the transaction constructon and
signing work and went over to assist with organizational stuff, discussions with
exchanges, business development, documentation and technical support. Obviously,
I do not want to focus too much on any of them but would rather help everywhere
there is a need though if there is no one in need, I'd pick one that is
important to me. That is the "risk" to the shareholders that they may disagree
in which tasks I considere more important than others. To make it even more
complicated for shareholders to decide (and I apologize for that), I do not
intend to do any of them during all my time. Giving Technical support, for
instance, is nice, and I like it, but I need to do other stuff as well to keep
me motivated.

Offline fav

  • Hero Member
  • *****
  • Posts: 4278
  • No Pain, No Gain
    • View Profile
    • Follow Me!
  • BitShares: fav
could you please elaborate on "Development of a Python library," ?
https://github.com/xeroc/python-grapehenlib
I plan to add transaction construction and signing to it as I had it already in the previous network.
But as the underlying wire format changed, I need to rewrite alot of code and add alot of different transaction types (i.e. operations).
Then we could have a simple python tool for instance for offline-signing of transactions .. not just the Javascript and C++ implementation

Also the development of price feed scripts and other tools for witnesses take their time.
Another idea I have is to do some statistical analysis over block chain parameters .. e.g. for committee members ..

thanks. what about some (core) features? Like claim vested balances in the GUI, could you do it?

you can do that now with his library. All cli_wallet commands and websocket APIs are available.

EDIT: technically, only database, history, and un-authenticated APIs are available via websocket, but adding others is trivial - it's just that no one needed them yet

thanks. that's why I asked, I'd rather see some basic stuff done before we move to offline signing and other optional things

Offline maqifrnswa

  • Hero Member
  • *****
  • Posts: 661
    • View Profile
could you please elaborate on "Development of a Python library," ?
https://github.com/xeroc/python-grapehenlib
I plan to add transaction construction and signing to it as I had it already in the previous network.
But as the underlying wire format changed, I need to rewrite alot of code and add alot of different transaction types (i.e. operations).
Then we could have a simple python tool for instance for offline-signing of transactions .. not just the Javascript and C++ implementation

Also the development of price feed scripts and other tools for witnesses take their time.
Another idea I have is to do some statistical analysis over block chain parameters .. e.g. for committee members ..

thanks. what about some (core) features? Like claim vested balances in the GUI, could you do it?

you can do that now with his library. All cli_wallet commands and websocket APIs are available.

EDIT: technically, only database, history, and un-authenticated APIs are available via websocket, but adding others is trivial - it's just that no one needed them yet
maintains an Ubuntu PPA: https://launchpad.net/~showard314/+archive/ubuntu/bitshares [15% delegate] wallet_account_set_approval maqifrnswa true [50% delegate] wallet_account_set_approval delegate1.maqifrnswa true

Offline maqifrnswa

  • Hero Member
  • *****
  • Posts: 661
    • View Profile
1) I'm a big fan and user of the library. big +5%. We need more people interacting with the blockchain via scripting. My bot is almost sane enough to put in the wild as well (release open source), and it relies on his library.

2) We need more non-cryptonomex workers supported, and they should be paid competitively. If bitshares wants to be a serious business, xerox is doing real and very important work insanely cheap. He's low risk, and proven member of the team. If bitshares "can't afford" to pay him, that's a major failure of the system.

3) I propose even expanding xeroc's proposal. Have the worker fund xeroc, then xeroc "bill" the worker account for work done at his hourly rate (I'd even increase that rate). Xeroc should also be allowed the freedom to outsource tasks included in this worker proposal. Getting workers approved is hard, largely because of trust issues. People won't do work without getting paid, and people won't pay without knowing what the work will be. Xeroc is trusted, he can thus outsource specific tasks and then "bill" his worker account to pay others to do work. His scope would be limited to what is in his proposal. This way there is no concern over whether funds will be available (so people will do the work), and xeroc can optimize as needed. Excess funds can be returned or just used for the next quarter.


From my experience, i put a lot of time in to making an automated ubuntu/debian build and distribution system. People don't know this, but bitshares actually has a 100% working system exactly like https://github.com/nodesource/distributions, but it was never funded so it never went live. The work was essentially wasted. For me, it doesn't matter because I don't need the money and I took it as a challenge to build, but freelance devs won't take that risk. Streamlining the system would be important. Allowing "managers" to bill worker accounts as needed will lower that barrier. All we have to do is to trust xeroc's priorities and have clear communication between him and proxies so it will be renewed as reasonable levels as necessary.
maintains an Ubuntu PPA: https://launchpad.net/~showard314/+archive/ubuntu/bitshares [15% delegate] wallet_account_set_approval maqifrnswa true [50% delegate] wallet_account_set_approval delegate1.maqifrnswa true

Offline fav

  • Hero Member
  • *****
  • Posts: 4278
  • No Pain, No Gain
    • View Profile
    • Follow Me!
  • BitShares: fav
could you please elaborate on "Development of a Python library," ?
https://github.com/xeroc/python-grapehenlib
I plan to add transaction construction and signing to it as I had it already in the previous network.
But as the underlying wire format changed, I need to rewrite alot of code and add alot of different transaction types (i.e. operations).
Then we could have a simple python tool for instance for offline-signing of transactions .. not just the Javascript and C++ implementation

Also the development of price feed scripts and other tools for witnesses take their time.
Another idea I have is to do some statistical analysis over block chain parameters .. e.g. for committee members ..

thanks. what about some (core) features? Like claim vested balances in the GUI, could you do it?

Offline xeroc

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 12922
  • ChainSquad GmbH
    • View Profile
    • ChainSquad GmbH
  • BitShares: xeroc
  • GitHub: xeroc
could you please elaborate on "Development of a Python library," ?
https://github.com/xeroc/python-grapehenlib
I plan to add transaction construction and signing to it as I had it already in the previous network.
But as the underlying wire format changed, I need to rewrite alot of code and add alot of different transaction types (i.e. operations).
Then we could have a simple python tool for instance for offline-signing of transactions .. not just the Javascript and C++ implementation

Also the development of price feed scripts and other tools for witnesses take their time.
Another idea I have is to do some statistical analysis over block chain parameters .. e.g. for committee members ..

Offline fav

  • Hero Member
  • *****
  • Posts: 4278
  • No Pain, No Gain
    • View Profile
    • Follow Me!
  • BitShares: fav
could you please elaborate on "Development of a Python library," ?


Offline cass

  • Hero Member
  • *****
  • Posts: 4311
  • /(┬.┬)\
    • View Profile
█║▌║║█  - - -  The quieter you become, the more you are able to hear  - - -  █║▌║║█

Offline xeroc

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 12922
  • ChainSquad GmbH
    • View Profile
    • ChainSquad GmbH
  • BitShares: xeroc
  • GitHub: xeroc
As some of you may have expected already, I now publicly run for
president worker in the BitShares ecosystem.

Hopefully, this shows a) my commitment to the BitShares project as a whole, and
b) the possibilities to fund independent workers in the ecosystem that do
not rely solely on Cryptonomex.

The detailed job application can be found on github
         https://github.com/xeroc/worker-proposals/blob/master/2016-01.md
with a PGP signature next to it. You can verify the content has been signed by
me using
Code: [Select]
gpg --verify 2016-01.md.sig

I appreciate your votes for 1.14.17!