Welcome, Guest. Please login or register.

Author Topic: Bitseal - a Bitmessage client for Android  (Read 53484 times)

Convertor

  • Global Moderator
  • Full Member
  • *****
  • Posts: 223
  • Karma: +13/-0
    • View Profile
Re: Bitseal - a Bitmessage client for Android
« Reply #15 on: September 30, 2014, 11:53:06 AM »
How are the public servers listed in the code?.. I mean, is the username/password public too, I guess it have to be?.. how do you make sure no one API spammer your servers?

When adding SSL, you should add the option for TOR servers only too.

JonathanCoe

  • Full Member
  • ***
  • Posts: 178
  • Karma: +26/-0
    • View Profile
Re: Bitseal - a Bitmessage client for Android
« Reply #16 on: September 30, 2014, 12:17:01 PM »
Yes the public testing servers are listed in the DefaultServers.xml file. As you say, they kind of have to be, given that the code is open-source. In the long term there will have to be a system for limiting spam requests to the servers, but at this stage it's not a major concern.

Thanks for the suggestion for Tor only servers - I'll look into it.
My address: BM-NBdhY8vpWJVL2YocA2Gfjf7eVoZAgbEs

Convertor

  • Global Moderator
  • Full Member
  • *****
  • Posts: 223
  • Karma: +13/-0
    • View Profile
Re: Bitseal - a Bitmessage client for Android
« Reply #17 on: September 30, 2014, 12:31:44 PM »
A very nice light client for computers could also be made by using the same server system you have made.. this way we can have electrum kinda clients, would be a huge plus

Would be  huge plus for those with very limited data use and bandwidth

Maarten

  • Newbie
  • *
  • Posts: 48
  • Karma: +5/-0
    • View Profile
Re: Bitseal - a Bitmessage client for Android
« Reply #18 on: September 30, 2014, 02:25:28 PM »
A very nice light client for computers could also be made by using the same server system you have made.
While Bitseal is the first attempt to actually create a light client *inside* the bitMessage network, I still had some sort of Full-Lite node system in my head where you run the Full node yourself. Then I realized you don't need to keep it in the BitMessage world if you use Ayra's B2M Bitmessage Email gateway: you run PyBitmessage and B2M on your home computer and then connect to it with your smartphone's regular email client, just like with the rest of your emails. (Providing you have a secure tunnel between the devices, as I recall encryption and authentication is not supported as it was ment to be used locally!) Oh, and your home computer would then do the POW...
This was something I was going to try out in a virtual machine within a few days.

Convertor

  • Global Moderator
  • Full Member
  • *****
  • Posts: 223
  • Karma: +13/-0
    • View Profile
Re: Bitseal - a Bitmessage client for Android
« Reply #19 on: September 30, 2014, 05:55:59 PM »
@JonathanCoe
are normal API disabled?

If no, then if you do.. then it would be easier to make some nodes public, as the API commands needed by the APP is limited to spam. if I'm correct?

JonathanCoe

  • Full Member
  • ***
  • Posts: 178
  • Karma: +26/-0
    • View Profile
Re: Bitseal - a Bitmessage client for Android
« Reply #20 on: October 01, 2014, 07:14:33 AM »
A very nice light client for computers could also be made by using the same server system you have made.. this way we can have electrum kinda clients, would be a huge plus
Would be  huge plus for those with very limited data use and bandwidth

Yes, that's the idea  :) In the long term I don't think it will make sense for most people to run full nodes, even on their PCs, in the same way that most users of Bitcoin don't use full node wallets. An electrum-equivalent would be a huge boost for Bitmessage.

@JonathanCoe
are normal API disabled?
If no, then if you do.. then it would be easier to make some nodes public, as the API commands needed by the APP is limited to spam. if I'm correct?

Yes, the normal PyBitmessage API functions are removed from bitseal-server. You can see the modified API here: https://github.com/JonathanCoe/bitseal-server/blob/master/src/api.py
My address: BM-NBdhY8vpWJVL2YocA2Gfjf7eVoZAgbEs

Thomas

  • Sr. Member
  • ****
  • Posts: 253
  • Karma: +28/-0
    • View Profile
    • bitmessaged is a bitmessage daemon (node) with an open plugin interface written in C++
Re: Bitseal - a Bitmessage client for Android
« Reply #21 on: October 01, 2014, 07:31:00 AM »
You can see the modified API here: https://github.com/JonathanCoe/bitseal-server/blob/master/src/api.py

Actually you cannot. Maybe, for someone who is able to read Python and who is familiar with this special api, this is a kind of a specification.
But if I would implement it in C++ it would help a lot, If we can make something more looking like a "specification".
Do you think this is possible? Maybe in the wiki?

There seems to be a good XMLRPCServer implementation for C++ http://xmlrpc-c.sourceforge.net/

So if I manage to understand the function prototypes you defined in the API, I can add the interface in my daemon very easy.

JonathanCoe

  • Full Member
  • ***
  • Posts: 178
  • Karma: +26/-0
    • View Profile
Re: Bitseal - a Bitmessage client for Android
« Reply #22 on: October 01, 2014, 08:36:54 AM »
Sure, I'll write up a proper specification for the API functions. I'll post here once it's done.
My address: BM-NBdhY8vpWJVL2YocA2Gfjf7eVoZAgbEs

Thomas

  • Sr. Member
  • ****
  • Posts: 253
  • Karma: +28/-0
    • View Profile
    • bitmessaged is a bitmessage daemon (node) with an open plugin interface written in C++
Re: Bitseal - a Bitmessage client for Android
« Reply #23 on: October 01, 2014, 10:13:23 AM »
Sure, I'll write up a proper specification for the API functions. I'll post here once it's done.

Thank you. Than I should be able to integrate the API into http://bitmessage.mobi within 1 or 2 weekends.

Convertor

  • Global Moderator
  • Full Member
  • *****
  • Posts: 223
  • Karma: +13/-0
    • View Profile
Re: Bitseal - a Bitmessage client for Android
« Reply #24 on: October 01, 2014, 10:20:59 AM »
A very nice light client for computers could also be made by using the same server system you have made.. this way we can have electrum kinda clients, would be a huge plus
Would be  huge plus for those with very limited data use and bandwidth

Yes, that's the idea  :) In the long term I don't think it will make sense for most people to run full nodes, even on their PCs, in the same way that most users of Bitcoin don't use full node wallets. An electrum-equivalent would be a huge boost for Bitmessage.

Agree.

@JonathanCoe
are normal API disabled?
If no, then if you do.. then it would be easier to make some nodes public, as the API commands needed by the APP is limited to spam. if I'm correct?

Yes, the normal PyBitmessage API functions are removed from bitseal-server. You can see the modified API here: https://github.com/JonathanCoe/bitseal-server/blob/master/src/api.py

Nicely, will properly request a merge, which another public server to the list. and properly also other when I've gotten the time to read it all through, and determined what else I would need for some apps to work.

Thomas

  • Sr. Member
  • ****
  • Posts: 253
  • Karma: +28/-0
    • View Profile
    • bitmessaged is a bitmessage daemon (node) with an open plugin interface written in C++
Re: Bitseal - a Bitmessage client for Android
« Reply #25 on: October 02, 2014, 02:58:28 AM »
Sure, I'll write up a proper specification for the API functions. I'll post here once it's done.

I looked deeper into xmlrpc and build already a plugin which supports it.

As far as I understood, a xmlrpc server exports some methods. There is an "Introspection" protocol, so you can see the supported methods. The library supports this, so you should be able to introspect the methods I do export. Did you know about this "Introspection" and can you use it?

I don't have good Internet connection here. But I can activate the plugin tomorrow afternoon. So you can see if you can get access an use the methods (only one example method implemented, yet).
« Last Edit: October 02, 2014, 03:06:51 AM by Thomas »

JonathanCoe

  • Full Member
  • ***
  • Posts: 178
  • Karma: +26/-0
    • View Profile
Re: Bitseal - a Bitmessage client for Android
« Reply #26 on: October 03, 2014, 07:51:07 AM »
I'll be travelling for the next couple of days, so progress may be a little slow. Should be up and running again early next week.
My address: BM-NBdhY8vpWJVL2YocA2Gfjf7eVoZAgbEs

Thomas

  • Sr. Member
  • ****
  • Posts: 253
  • Karma: +28/-0
    • View Profile
    • bitmessaged is a bitmessage daemon (node) with an open plugin interface written in C++
Re: Bitseal - a Bitmessage client for Android
« Reply #27 on: October 04, 2014, 03:17:23 AM »
the XML-RPC interface of bitmessage.mobi can be reached here: http://bitmessage.mobi:8081/RPC2

It has nearly no methods,now. I've to dig a little bit in the API description of xmlrpc-c, first.

But you could test already, if it's technically compatible to what you expect. The library supports "Introspection", so you should be able to see, what methods are supported.
the method "sample.add" should already work correct.

Thomas

  • Sr. Member
  • ****
  • Posts: 253
  • Karma: +28/-0
    • View Profile
    • bitmessaged is a bitmessage daemon (node) with an open plugin interface written in C++
Re: Bitseal - a Bitmessage client for Android
« Reply #28 on: October 04, 2014, 11:34:55 AM »
I finished some (very basic) xmlrpc methods. But the methods should be sufficient to interface with the bitmessage network. You reach the interface here: http://bitmessage.mobi:8081/RPC2

it supports introspection:

Code: [Select]
xmlrpc http://bitmessage.mobi:8081/RPC2 system.listMethods
Result:

Array of 15 items:
  Index  0 String: 'system.listMethods'
  Index  1 String: 'system.methodExist'
  Index  2 String: 'system.methodHelp'
  Index  3 String: 'system.methodSignature'
  Index  4 String: 'system.multicall'
  Index  5 String: 'system.shutdown'
  Index  6 String: 'system.capabilities'
  Index  7 String: 'sample.add'
  Index  8 String: 'v2.getMessages'
  Index  9 String: 'v2.getBroadcasts'
  Index 10 String: 'v2.getPubkeys'
  Index 11 String: 'v2.addMessage'
  Index 12 String: 'v2.addBroadcast'
  Index 13 String: 'v2.addPubkey'
  Index 14 String: 'v2.getObject'

Code: [Select]
xmlrpc http://bitmessage.mobi:8081/RPC2 system.methodSignature v2.getMessages
Result:

Array of 1 items:
  Index  0 Array of 1 items:
             Index  0 String: 'array'

Code: [Select]
xmlrpc http://bitmessage.mobi:8081/RPC2 system.methodHelp v2.getMessages
Result:

String: 'This method returns the inventory vectors of all current version2 objects'

and you can request objects:

Code: [Select]
xmlrpc http://bitmessage.mobi:8081/RPC2  v2.getBroadcasts
Result:

Array of 239 items:
  Index  0 Bit string: 012f0e7f60f830178fbcb33d47b184d47a33f822a54017f0b4915d435948072f  Index  1 Bit string: 02801bf6a98d63a6089e971d8052e078a6229f100c006f902195e1a6746020dd  Index  2 Bit string: 040f77bc50d4f668323cf29e5a71936cf14f493b7ddd6311ac673611699a52ae  Index  3 Bit string: 0577b245e36bebeb6b4e0b8a141ab659758f6fada866cabbd127e39b323125a6  Index  4 Bit string: 0626c7effd8733c68abf0b57dec4e652d3818b0227af4d69c92c893118a6dbd5  Index  5 Bit string: 086fdf331994f7c424eb082c931b3c84b51d860d0a7779b3bb9285f8801499d9  Index  6 Bit string: 09cc2c360ee36d04168dfdbeff594781bbb66423b83577d2158e7c848bad71b8  Index  7 Bit string: 09f52691301f8d70c9493c7ecf73619357b7d9e8b220739c6319c0f9fa4c517a  Index  8 Bit string: 0c69271f2e95943bf018a5711a82554bfbf85b8d6725254c02bad88332f074a5  Index  9 Bit string: 0d039a2f2a279e6247afc9df5e6461aad3008959e4536d4f7b40f262a53351b8  Index 10 Bit string: 0f224f36540562d08573327efb564f145cfc3d19a2344ef99ea80051ce3048b2  Index 11 Bit string: 10ca54fb4496429de777263b489fac436ea2e88c65fe0fd5c9c938db3545712c  Index 12 Bit string: 128bea72e5ecbe01b19e91f88821b12faca06dfd8d277b46358d60b5bb9f4066

...

« Last Edit: October 07, 2014, 01:44:46 AM by Thomas »

pan

  • Newbie
  • *
  • Posts: 1
  • Karma: +0/-0
    • View Profile
Re: Bitseal - a Bitmessage client for Android
« Reply #29 on: October 07, 2014, 01:42:46 AM »
It would be nice to be able to use imported private keys as new default identities. Nice, too, to be able to rename them.

Thanks a lot to the developers, such a project was a dream of mine!