CodersBrothers / gateway

Websockets Server Gateway for wallets

Home Page:https://wiki.unsystem.net/index.php/DarkWallet/Gateway

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Gateway

The darkwallet gateway is a daemon providing the following services to wallets:

  • Websocket connectivity (talks zmq with an obelisk backend)
  • Obelisk protocol streamlining (doesn't talk obelisk proto but a simplified and parsed protocol)
  • Broadcaster and transaction radar
  • Simple lobby services (chatroom service with no guarantees)
  • Provices currency prices ticker (over bitcoinaverage at the moment)

Generally the gateway tries to provide all services a wallet may need acting as a proxy to mask the user address so as to not compromise it in many services.

Running:

To run with more logging:

python daemon/gateway.py --logging=debug --log_to_stderr=true

you can also use other tornado logging options, check it's documentation.

Check config.json file for tuning it.

Client cheatlist:

Fetching a block header

$ curl http://localhost:8888/block/000000000000000145f738890dc703e7637b677f15e9a49ea2eeca6e6e3c5f51
{"nonce": 2595258480, "timestamp": 1391031759, "version": 2, "prev_hash": "00000000000000012af08fe29312627aa6f74aa7f617925da4f4f3a572a95da0", "merkle": "088d6b08fbca5c9fb5c1970a7af5a17847d67635b80ca6f12bd982218e2a83ac", "bits": 419558700}

Fetching block transactions

$ curl http://localhost:8888/block/000000000000000145f738890dc703e7637b677f15e9a49ea2eeca6e6e3c5f51/transactions
{"transactions": ["0118256f73a29a2d6c06ea21fc48166ebf5acbcfaf57da3e173be7018e245338", "4424d7f653e29d731f95091d478816743c320fd7fa6a94f9bf8d4b2d7baf0975", ....

Fetching transaction

$ curl http://localhost:8888/tx/5a002b39d70d0c3197afa1d2ae874083631f5a43cd4fe2b2cc35347d863f00f7
{"inputs": [{"previous_output": ["da03f16974423bf6425be37e7a6297587a35f117ce3b657e781eeff0098faed5", 0], "sequence": 4294967295, ....

address history

$ curl http://localhost:8888/address/1dice3jkpTvevsohA4Np1yP4uKzG1SRLv
{ "history" : [{"spend_hash": "cdf6ea4f4590fbc847855cf68af181f1398b8997081cf0cfbd14e0f2cf2808ea", "output_height": 228180, "spend_index": 0, "value": 1000000, ....

TODO

  • Add to wiki method documentation, and some link to learn about concepts
  • Create a image-schema of Darkwallet ecosystem parts and how are connected

About

Websockets Server Gateway for wallets

https://wiki.unsystem.net/index.php/DarkWallet/Gateway

License:GNU Affero General Public License v3.0


Languages

Language:Python 70.3%Language:JavaScript 20.4%Language:C++ 9.3%