Main > Stakeholder Proposals

[Worker Proposals] Documentation and Technical Support + Python Dev and Apps

<< < (2/11) > >>

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.

Pheonike:

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

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

abit:
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?

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: ---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)

--- End code ---

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

xeroc:

--- Quote from: pc on March 01, 2016, 04:49:11 pm ---
--- Quote from: xeroc on March 01, 2016, 03:09:19 pm ---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.

--- End quote ---

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.

--- End quote ---
Yhea .. that is what the UI does and what I have implemented as well now. Seems to work reliably now

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version