Bitseal

From Bitmessage Wiki
Jump to: navigation, search


Bitseal is a Bitmessage client for Android, currently in Beta.


Bitseal Server

The Bitseal server code can be found at: (https://github.com/JonathanCoe/bitseal-server)

The Bitseal server application is a slightly modified version of PyBitmessage: (https://github.com/bitmessage/pybitmessage)

See also Bitseal's main respository: (https://github.com/JonathanCoe/bitseal)


Instructions for setting up bitseal-server

1) Download the zip file of the source code from Github

2) Extract the source code files to the desired location on your server

3) Run bitmessagemain.py

4) After a few seconds, stop PyBitmessage. PyBitmessage will have created a keys.dat file, which you can now use to specify your API settings

5) Open the keys.dat file. You can find its location using this reference: https://bitmessage.org/wiki/Keys.dat

6) Add the following lines to the "bitmessagesettings" section of the keys.dat file, replacing the port number, username, and password values as appropriate:

daemon = true
apienabled = true
apiport = YOUR_API_PORT_NUMBER
apiinterface = 0.0.0.0
apiusername = YOUR_API_USERNAME
apipassword = YOUR_API_PASSWORD

7) Save and close the keys.dat file

8) Ensure that your server's firewall is set up allowing incoming + outgoing TCP connections on port 8444 (PyBitmessage default) and the API port you specified in the keys.dat file

9) Run bitmessagemain.py

10) Open Bitseal and add your server's URL, API username, and API password via the 'Server Settings' page

11) Done!


Bitseal Server API

Required arguments are denoted inside < and > Optional arguments are inside [ and ].

Command Parameters On Success Returns On Failure Returns Description
add <integer> <integer> An integer which is the sum of the two parameters An API error Returns the sum of the integers. Used as a simple test of the API.
disseminateMsg <messageHex> 'Message disseminated successfully' 'Message dissemination failed', or an API error Takes a hex-encoded msg object and disseminates it to the rest of the Bitmessage network. The POW for the msg must have already been done.
disseminatePubkey <pubkeyHex> 'Pubkey disseminated successfully' 'Pubkey dissemination failed', or an API error Takes a hex-encoded pubkey object and disseminates it to the rest of the Bitmessage network. The POW for the pubkey must have already been done.
disseminateGetpubkey <getpubkeyHex> 'Getpubkey disseminated successfully' 'Getpubkey dissemination failed', or an API error Takes a hex-encoded getpubkey object and disseminates it to the rest of the Bitmessage network. The POW for the getpubkey must have already been done.
requestPubkey <identifierHex> <addressVersion> The hex-encoded pubkey object, formatted as a single object in a JSON array 'No pubkeys found', or an API error Takes an 'identifer' value and address version number and attempts to find a matching pubkey in the server's storage. The identifier value is ripe hash or the 'tag' of the pubkey which is being requested, depending on the address version of the pubkey. If a matching pubkey is found, it is returned to the client.
checkForNewMsgs <streamNumber> <receivedSinceTime> <receivedBeforeTime> A JSON array containing the hex-encoded msg objects 'No msgs found', or an API error Takes a stream number, a 'received since' time value, and a 'received before' time value and returns any msg objects which were received in that stream number at a time between the two provided values.


API errors

Here are the various error codes and messages you might see. Parts of the error messages in BLOCK_CAPITALS are variable fields that will change based on the data involved in the error.

Error Number Message
000 API Error 000: 'I need NUMBER_OF_PARAMETERS parameters!'
001 API Error 001: 'Decode error - DECODE_EXCEPTION_MESSAGE. Had trouble while decoding string: YOUR_STRING'
002 API Error 002: 'The address version cannot be less than ADDRESS_VERSION_NUMBER'
003 API Error 003: 'Address versions above ADDRESS_VERSION_NUMBER are currently not supported'
004 API Error 004: 'The length of hash should be 20 bytes (encoded in hex and thus 40 characters).'
005 API Error 005: 'The length of tag should be 32 bytes (encoded in hex and thus 64 characters).'
006 API Error 006: 'The requested object was found, but its payload is above the maximum size limit. The size of the object payload is PAYLOAD_SIZE_IN_BYTES'