Author Topic: [Worker Proposals] Documentation and Technical Support + Python Dev and Apps  (Read 20267 times)

0 Members and 1 Guest are viewing this topic.

Offline xeroc

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 12922
  • ChainSquad GmbH
    • View Profile
    • ChainSquad GmbH
  • BitShares: xeroc
  • GitHub: xeroc

Offline abit

  • Committee member
  • Hero Member
  • *
  • Posts: 4664
    • View Profile
    • Abit's Hive Blog
  • BitShares: abit
  • GitHub: abitmore
Just a note, there are 1,196,589 BTS and 204,239 BTS accumulated by workers in this thread, unclaimed.
BitShares committee member: abit
BitShares witness: in.abit

Offline xeroc

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 12922
  • ChainSquad GmbH
    • View Profile
    • ChainSquad GmbH
  • BitShares: xeroc
  • GitHub: xeroc
Apologies for not keeping this thread up to date:

In fact, I've been so busy with BitShares and related projects that I haven't had the time to keep the corresponding posts up to date.
Let me quickly recap the work done in the recent months:

* Python-graphenelib - Low-level library for interacting with the Network
* Transaction Signing in Python - Sign your transactions without the cli/web wallet
* BitShares Europe Consulting - Education, Trainings & Seminars
* BitShares Europe Blog - Blog posts about the DAC
* BitShares Europe Documentation - Reference Documentation for Graphene and BitShares
* BitShares Europe Stats - BitShares TPS in real-time
* Committee Proposals - Development & Execution
* Committee Instructions - Educational and Consulting
* Structured Fee Schedule - Development, Marketing, Execution
* LaTeX Paperwallet - Bringing Private Keys
* Wallet Recovery Service - 0.9 Migration
* AirSign - Python-Only Interface for BitShares
* Peermit - Second factor authentication for BitShares
* Price Feed - Price feed script for BitShares Witnesses
* BitShares Improvement Proposals - BSIPs
* Full fledged docker containers - Dockerfiles for easy deployment
* Wallet and Faucet deployments & maintenance - Run your own white-labeled DEX
* Graphene/BitShares Paperwallets - Cold Storage on Paper
* BitShares/Graphene Testnet - The one and only Testnet for BitShares
* Trading Bot Infrastructure - Run your Bots on the DEX
* Customized Blockchain deployment - Get your own private Graphene blockchain
* BitShares Whitepapers - Sole author of two whitepapers
* High profile forum member - Most forum posts .. by far

My short term goals for the next weeks is to improve on the trading bot infrastructure so that people only need to deploy python code and not need to run a cli_wallet.

Offline xeroc

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 12922
  • ChainSquad GmbH
    • View Profile
    • ChainSquad GmbH
  • BitShares: xeroc
  • GitHub: xeroc
Just a short updates:
I've updated the docs quite a bit in the last weeks even though the last few days have not been too productive on the documentation side of things.
On the other hand, I have successfully coded a library that let's you construct and sign transaction fully in python. Next step is to learn a decent
GUI framework (reading into QT right now) and write a tool that helps people to deal with cold storage. The library is feature complete (at least for transfers)
and all that is needed is a nicer way to make use of it.

I'd like to let you know that I am going for a 6 days vacation starting today what means that I will not be as responsive as usual. I'll be back .. next friday :)

Offline abit

  • Committee member
  • Hero Member
  • *
  • Posts: 4664
    • View Profile
    • Abit's Hive Blog
  • BitShares: abit
  • GitHub: abitmore

Here is the wiki.bitshares.org from aug. 17th, 2015.

https://web.archive.org/web/20150817075329/http://wiki.bitshares.org/index.php/Main_Page
Thanks!

importing your AGS/PTS keys directly into the GUI will most probably work as expected as it derives the correct pubkey/address from that private key alone and does not contain any blockchain version data like PTS addresses or BTC addresses.
Sounds reasonable.. but what's this problem? https://bitsharestalk.org/index.php/topic,21911.msg285827.html#msg285827
BitShares committee member: abit
BitShares witness: in.abit

Offline xeroc

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 12922
  • ChainSquad GmbH
    • View Profile
    • ChainSquad GmbH
  • BitShares: xeroc
  • GitHub: xeroc
importing your AGS/PTS keys directly into the GUI will most probably work as expected as it derives the correct pubkey/address from that private key alone and does not contain any blockchain version data like PTS addresses or BTC addresses.


Offline abit

  • Committee member
  • Hero Member
  • *
  • Posts: 4664
    • View Profile
    • Abit's Hive Blog
  • BitShares: abit
  • GitHub: abitmore
I know it's possible to claim AGS/PTS balances with cli_wallet directly, but I'm not sure if it can be done with 2.0 GUI alone (I've filed an issue https://github.com/cryptonomex/graphene-ui/issues/785). If not, users need to import keys to BitShares 0.x first, but it's hard to find a tutorial about that. The original BitShares Wiki http://wiki.bitshares.org doesn't work anymore, which contains some important tutorials about BTS 0.x, for example how to claim fund from AGS/PTS http://wiki.bitshares.org/index.php?title=BitShares/Howto&oldid=3080#Attempting_a_wallet_import_to_receive_BTSX_from_February_28th_snapshot .
Possible to add it to new document site?
BitShares committee member: abit
BitShares witness: in.abit

Offline xeroc

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 12922
  • ChainSquad GmbH
    • View Profile
    • ChainSquad GmbH
  • BitShares: xeroc
  • GitHub: xeroc
I just pushed a new feature branch that is capable of signing (currently only) transfers and can not yet include memos:
https://github.com/xeroc/python-graphenelib/tree/feature/offline-signing

Code: [Select]
from grapheneapi.grapheneclient import GrapheneClient
from graphenebase import transactions

class Config():
    witness_url       = "ws://localhost:8090/"
    wif               = "5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3"
    from_account_name = "nathan"
    to_account_name   = "init0"
    amount            = 10
    asset_name        = "CORE"
    # memo              = ""


if __name__ == '__main__':
    client = GrapheneClient(Config)
    connected_chain = client.getChainInfo()
    to_account   = client.ws.get_account(Config.to_account_name)
    from_account = client.ws.get_account(Config.from_account_name)
    asset        = client.ws.get_asset(Config.asset_name)

    fee      = transactions.Asset(0, "1.3.0")
    amount   = transactions.Asset(int(Config.amount * 10 ** asset["precision"]), "1.3.0")
    memo     = transactions.Memo()  # Not implemented yet
    transfer = transactions.Transfer(fee,
                                     from_account["id"],
                                     to_account["id"],
                                     amount,
                                     memo)
    ops              = [ transactions.Operation(transfer) ]
    ops              = transactions.addRequiresFees(client.ws, ops, "1.3.0")
    ref_block_num, ref_block_prefix = transactions.getBlockParams(client.ws)
    expiration       = transactions.formatTimeFromNow(60 * 60)
    signed           = transactions.Signed_Transaction(ref_block_num, ref_block_prefix, expiration, ops)
    w                = signed.sign([Config.wif], chain=connected_chain)
    ret              = client.ws.broadcast_transaction(transactions.JsonObj(w), api="network_broadcast")
    print(ret)

Todo:
 * Add memo (shouldn't take too long since most code is already implemented)
 * Add other operations besides 'transfer'

Offline xeroc

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 12922
  • ChainSquad GmbH
    • View Profile
    • ChainSquad GmbH
  • BitShares: xeroc
  • GitHub: xeroc
There just seems to be one issue left that makes the signatures non-canonical and I need to figure out what the reasons for this is.

The is_canonical check in Graphene is much too restrictive, IMO. Signatures sometimes just fail it. The only option is to retry with a different random value.
Yhea .. that is what the UI does and what I have implemented as well now. Seems to work reliably now

Offline pc

  • Hero Member
  • *****
  • Posts: 1530
    • View Profile
    • Bitcoin - Perspektive oder Risiko?
  • BitShares: cyrano
There just seems to be one issue left that makes the signatures non-canonical and I need to figure out what the reasons for this is.

The is_canonical check in Graphene is much too restrictive, IMO. Signatures sometimes just fail it. The only option is to retry with a different random value.
Bitcoin - Perspektive oder Risiko? ISBN 978-3-8442-6568-2 http://bitcoin.quisquis.de

Offline xeroc

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 12922
  • ChainSquad GmbH
    • View Profile
    • ChainSquad GmbH
  • BitShares: xeroc
  • GitHub: xeroc
As a quick update:
* I've added a few more basic articles to the docs
* rewrite of the API pages
* wrote some articles for the (hopefully) upcoming newsletter
* upgraded the testnetwork seed node to allow STEALTH testing on stealth.cnx.rocks
* and some more stuff I just forgot :P

and most happy, I am that I made huge progress in the offline-signing python code.
There just seems to be one issue left that makes the signatures non-canonical and I need to figure out what the reasons for this is.
But some python-signed transactions made it into the blockchain. So that's something.


Offline btswolf

are you still working on the remaining Whitepapers?

Offline xeroc

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 12922
  • ChainSquad GmbH
    • View Profile
    • ChainSquad GmbH
  • BitShares: xeroc
  • GitHub: xeroc
Congratulations! You are voted in!
@xeroc I appreciate all the work you done for our community. You have my support
Thanks for all the support.

For those that wonder what I did the last week, I am preparing articles for different parties among which are
OpenBazaar and the upcoming newsletter ...
Hope to be able to get back to coding soonish

Offline twitter

  • Sr. Member
  • ****
  • Posts: 279
    • View Profile
@xeroc I appreciate all the work you done for our community. You have my support
witness: