Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mobile support for go-ipfs #6299

Closed
mNizhurin opened this issue May 6, 2019 · 9 comments
Closed

Mobile support for go-ipfs #6299

mNizhurin opened this issue May 6, 2019 · 9 comments
Labels
kind/enhancement A net-new feature or improvement to an existing feature

Comments

@mNizhurin
Copy link

mNizhurin commented May 6, 2019

I want to have possibility to start IPFS node on mobile device to have faster and stable access to my data.

The problem of current version is described here:
golang/go#31737
I have tested only iOS version. As you can see there is nothing I can do with framework because of unsupported types in return values or inside methods.

I want to have interface module which will work with iOS API

I also have this thread:
https://discuss.ipfs.io/t/gomobile-bind-gives-me-skipped-field-with-unsupported-type/5303
and I had read this one:
https://discuss.ipfs.io/t/go-ipfs-on-ios/2732/9
no success yet.

@sanderpick
Copy link
Contributor

sanderpick commented May 7, 2019

You can leverage IPFS via one of Textile's mobile (iOS/Android/React Native) clients: https://docs.textile.io/#integrate-into-your-apps

@mNizhurin
Copy link
Author

mNizhurin commented May 7, 2019

I want to use this project because it have better community and support for the future.

@sanderpick
Copy link
Contributor

sanderpick commented May 7, 2019

It's not orthogonal to this project. In any case, you can see how go-ipfs is exposed to an iOS framework.

@mNizhurin
Copy link
Author

mNizhurin commented May 7, 2019

Problem that exposed part has unsupported types. Wish to see those parts made with https://godoc.org/golang.org/x/mobile/cmd/gobind#hdr-Type_restrictions

I wonder if I can wait for such type-oriented update or try another not so good approach?

@Stebalien Stebalien added the kind/enhancement A net-new feature or improvement to an existing feature label May 7, 2019
@Stebalien
Copy link
Member

Stebalien commented May 7, 2019

@mNizhurin I recommend you take a look at Textile's work, they've put a lot of effort into making go-ipfs work on mobile platforms.

The tracking issue for go-ipfs on iOS is here: #1126. You may also be interested in https://github.com/kjaylee/ios-ipfs-api (not sure about its current state).

Closing in favor of the the tracking issue.

@Stebalien
Copy link
Member

Stebalien commented May 7, 2019

(feel free to continue discussing here, I'm just closing this to make it easier to track)

@momack2 momack2 added this to Done in ipfs/go-ipfs May 9, 2019
@kuabhish
Copy link

kuabhish commented Apr 7, 2020

I am facing a lot of issues working with textile libraries.

@Stebalien
Copy link
Member

Stebalien commented Apr 7, 2020

Please ask for help on https://discuss.ipfs.io or our matrix channel (#ipfs:matrix.org).

@gopikrishnanrmg
Copy link

gopikrishnanrmg commented Apr 20, 2020

I found a temporary workaround for this issue till the mobile implementation comes, there is an app called termux for Android, it has an ipfs package, this ipfs package can help you to run a full node on Android, note that termux is a terminal emulator and provides a Linux environment. Unfortunately the app doesn't have services or intents for 3rd party apps to interact with the emulator and run ipfs commands. All you can do is interact with ipfa via terminal, but I found a simple solution for this, which I did for my project. This is by running a nodejs server in termux which executes ipfs commands, using http android apps can also interact with the server, I even tested some advanced commands like it's able to open sockets on the android device for communication which the 3rd party apps can use to communicate.

Check it out https://github.com/gopikrishnanrmg/IPFS_Mobile_Test

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/enhancement A net-new feature or improvement to an existing feature
Projects
No open projects
Development

No branches or pull requests

5 participants