I have working DPOS chain with instructions here: http://bitshares.org/documentation/group__dpos__manual__testing.html
This is working with full P2P mode, DPOS delegates producing blocks, and the new level_db based wallet....
I will be refining this a tad further and keep you all posted on when we can resume the test.
Plan to test it this weekend
I have updated the testing instructions here:
http://bitshares.org/documentation/group__dpos__manual__testing.htmlPrimary changes are in the API usage and wallet management. The primary goal is to get people away from sending to an 'address' and instead sending to an 'account' where the account is a hierarchal key. Every time you send to an account it will use a different public key (address) and eventually this will allow automation of privacy enhancing transactions.
We have also extended the API / implemented more of it. See info here:
blockchain_get_block <block_hash> Retrieves the block header for the given block hash
blockchain_get_block_by_number <block_number> Retrieves the block header for the given block number
blockchain_get_blockcount Returns the number of blocks in the longest block chain.
blockchain_get_blockhash <block_num> Returns hash of block in best-block-chain at index provided..
blockchain_get_delegates [first] [count] Returns the list of delegates sorted by vote
blockchain_get_name_record <name> Retrieves the name record
blockchain_get_names [first] [count] Returns the list of reserved names sorted alphabetically
blockchain_get_transaction <transaction_id> Get detailed information about an in-wallet transaction
get_info Provides common data, such as balance, block count, connections, and lock time
help [command] Lists commands or detailed help for specified command.
network_add_node <node> <command> Attempts add or remove <node> from the peer list or try a connection to <node> once
network_get_connection_count Returns the number of connections to other nodes.
network_get_peer_info Returns data about each connected node.
stop Stop BitShares server
validate_address <address> Return information about given BitShares address.
wallet_close Closes the curent wallet if one is open.
wallet_create <wallet_name> <password> Opens the wallet of the given name
wallet_create_receive_account <account_name> Add new account for receiving payments
wallet_create_sending_account <account_name> <account_key> Add new account for sending payments
wallet_get_account <account_name> Lists all foreign addresses and their labels associated with this wallet
wallet_get_balance [account_name] [minconf] [asset] Returns the wallet's current balance
wallet_get_name Returns the wallet name passed to wallet_open
wallet_get_transaction_history [count] Retrieves all transactions into or out of this wallet.
wallet_import_bitcoin <filename> <password> Import a BTC/PTS wallet
wallet_import_private_key <key> [account_name] [wallet_rescan_blockchain] Import a BTC/PTS private key in wallet import format (WIF)
wallet_list_receive_accounts [start] [count] Lists all foreign addresses and their labels associated with this wallet
wallet_list_reserved_names [account_name] Lists all reserved names controlled by this wallet, filtered by account.
wallet_list_sending_accounts [start] [count] Lists all foreign addresses and their labels associated with this wallet
wallet_lock Lock the private keys in wallet, disables spending commands until unlocked
wallet_open <wallet_name> <password> Opens the wallet of the given name
wallet_open_file <wallet_file> <password> Opens the wallet at the given path.
wallet_register_delegate <name> <data> Registeres a delegate to be voted upon by shareholders.
wallet_rename_account <current_account_name> <new_account_name> Lists all reserved names controlled by this wallet, filtered by account.
wallet_rescan_blockchain [starting_block] Rescan the block chain from the given block
wallet_rescan_blockchain_state Rescans the genesis block and state (not the transactions)
wallet_reserve_name <name> <data> Retrieves the name record
wallet_transfer <amount> <sending_account_name> [invoice_memo] [from_account] [asset_id] Sends given amount to the given address, assumes shares in DAC
wallet_unlock <spending_pass> <timeout> Unlock the private keys in the wallet to enable spending operations
If you are curious about the new transaction structure you can view an example json dump here:
{
"expiration": null,
"delegate_id": null,
"operations": [{
"type": "withdraw_op_type",
"data": {
"balance_id": "XTSKh6JP6QzMmeUmmK1T16gxgadrJ547ocGT",
"amount": 154321,
"claim_input_data": ""
}
},{
"type": "deposit_op_type",
"data": {
"amount": 54321,
"condition": {
"asset_id": 0,
"delegate_id": 8,
"condition": "withdraw_signature_type",
"data": {
"owner": "XTSAg5YxD9reTXr5iQWBZEJrLzzMxMxvnFhy"
}
}
}
}
],
"signatures": [
"2028da68efe2696ab7895e86c1b35affbb7cd1b71d8f33124fe81ad785ace3ed55226e0e622098b9c45f8660801b4b929556102c3da549d887c5da99262b5c6275"
]
}
As you can see this transaction is entirely human readable outside the context of the blockchain, it is transferring 154321 from XTSKh6JP6QzMmeUmmK1T16gxgadrJ547ocGT and sending 54321 to XTSAg5YxD9reTXr5iQWBZEJrLzzMxMxvnFhy while paying a fee of 100000.