tezedge/tezedge-client

[Feature Request]: Mobile compatible library

Opened this issue · 5 comments

Hi @binier, I'm working on writing apps and libraries for Tezos, written in Swift for iOS / MacOS apps. In order to work with Tezos i'm relying on many third party libraries to do the crypto, hashing, formatting etc. These libraries are iOS only, meaning I can't build anything MacOS with my stuff and don't come with any support for Tezos specifically, meaning lots of googling and research to figure out how to actually sign the payload, what prefixes are needed, what type of hashing etc. When it comes to the likes of local forging, I have to modify and build a custom version of taquito (every update), and then use a JS vm inside my app to run it, which slows it down and creates all kinds of problems. I've been asking the core teams, for a very long time, to work on making some internals of the node / client accessible as standalone modules so that it can be used directly/natively. OCaml doesn't seem to lend itself well to this, or its not a priority.

I came across your project, and i've heard that Rust binaries can be executed inside iOS code. iOS has a lot of very custom aspects to it, so usually binaries in other languages have all kinds of difficulties running code making use of Network, Database, local storage etc. But binaries just containing in/out functions work well.

Would there be any possibility that you could split out some aspects of this library? I'd love to get something standalone setup using a Github action to produce binaries automatically on pushes to master, that I could pull down and build a Swift wrapper around it. Such an asset would be hugely valuable to native apps, and I would think Android too.

I'd need all the usual crypto functions for hd and non-hd wallets, signing, hashing, and i'd be looking for local forging and parsing. It would be great to have something like this that is Tezos specific, that doesn't force you to figure out that before signing, you need to add a watermark and hash it etc

Is this something you'd be willing to do? I don't know Rust myself, but I can try help with some aspect if needed, or try getting the work sponsored with a foundation grant maybe. Let me know either way please

Hi @simonmcl,

At the moment tezedge-client is outdated. It most likely won't work properly since the Ithaca (12th) protocol update.

For now, we are mainly focusing on Tezedge node and a baker. I'll keep your usecase in mind once I have a chance to update/refactor tezedge-client.

@binier sure thing, thank you. I'm on the Tezos developer slack too if you start thinking about it and have any questions, feel free to reach out

@binier saw your twitter update that TezEdge is being shut down/unmaintained. Was very sad to hear this. Is it due to lack of funding, some technical issues, lack of time to work on it etc. Would love to know if theres anything that can be done to help keep the project going

@simonmcl

saw your twitter update that TezEdge is being shut down/unmaintained. Was very sad to hear this. Is it due to lack of funding, some technical issues, lack of time to work on it etc.

Sorry, but not my place to comment on that :)

Would love to know if theres anything that can be done to help keep the project going.

I don't know. We won't be working on it as far as I'm aware. Other than that, I don't know much about what will happen to TezEdge.

@binier

Sorry, but not my place to comment on that :)

Thats very cryptic. Theres a lot of conspiracy theories floating around twitter about what happened. Is there someone connected to this project that can give a definitive answer as to what happened?