Mobile node + general app

Summary
Make a mobile app with all the features of the Orakuru web app that also acts as a node validator

Motivation
The barrier to entry for running a node is quite high - most people don’t even know what Docker is and are intimidated by config files/building from source. Ideally, the more nodes, the better - the more nodes, the less points of failure, the fairer any data averaging scheme will be. So how can we fix this?

If it were possible to easily run a node validator on your phone in the background and passively earn ORK from it after staking, a lot of people would probably do it and Orakuru would stand to gain a huge army of nodes.

To make the app even more full-featured for those that want to participate in the community, adding things like governance, predictions, data feeds, news, etc would be nice.

I’m an experienced mobile dev - I primarily use Flutter, a modern cross-platform framework that is used to make performant apps that run on many platforms - Android, iOS, even desktop. I also have experience with ETH/BSC smart contract and wallet stuff - I’m up to the task. I’m キラ on the Discord and posted some of my work a while ago.

As part of this proposal, I’d like to become a member of the team and make the app.

Specification

  1. Ability to add existing wallet to app via private key/seed/recovery phrase (or create a new one)
  2. Ability to stake ORK directly in the app
  3. Ability to enable a node validator that runs in the background, or disable the feature if desired
  4. All current existing features of Orakuru web app (news, governance, etc)

For

  1. Potential to get a huge army of nodes easily
  2. Good mobile apps always provide a better user experience than a web app ever can
  3. Potential for better community engagement via things like push notifications to prompt users to vote on governance proposals, etc
  4. Mobile apps allow for access to a broader audience and give the audience a low barrier to entry

Against

  1. The mobile nodes may have pretty bad latency, obviously way worse than something like a server in a datacenter
  2. The financial burden of having to pay for an additional full-time team member

Updated poll (because I can’t edit the old one to add a 3rd option)

  • For
  • Against
  • Needs more discussion

0 voters

Feel free to comment, I appreciate your feedback

1 Like

Thank you K1ra for your proposal. There is no doubt with the potential of feature rich state of the art mobile app for ultimate user experience. It can have the features you have mentioned regarding wallet integration, staking, push notification, governance poll etc.

However when it comes to the Validator node running on the Mobile, it will not work in my opinion due to various reasons like security, resource limitation, 24x7 connectivity, validator node needs to interact with the underlying chain (BSC/Solana/Polkadot/etc.) whether off-chain or on-chain, with intensive storage requirement going forward. The top priority for any Oracle solution is the security of the TVL which will seriously compromised using mobile validator node (if at all technically possible!). Hence I personally believe Validator Mobile node does not work.

Excluding Validator mobile node feature, all other features like staking dashboard (choosing the Validators to stake on, Validator performance, Predix market, Governance, News, polls, etc. all can be integrated in the mobile app as you have mentioned and we can surely utilize the experience you have for this if the core team needs resources.

Also if you can add an option for poll “Needs more discussion” as I am against one particular feature (i.e. validator node running on mobile) but in for the other features.

6 Likes

Alright, I created a new poll. I tried to edit the old one to add the 3rd option, but it would not let me.

I think that a mobile node is still technically possible, but the storage requirement and potential battery drain/resource use would be a problem. I’m unsure what the exact security concerns would be unless the phone itself is somehow compromised. Both Android and iOS have APIs for secure encrypted storage of things like private keys and it’s trivial to require fingerprint/password/faceID authentication in the app. If you’re staking and importing your wallet into the app, those features absolutely must be used.

A dashboard/control panel for nodes would definitely be nice, and it + all the other features you mentioned would still make a strong case for a mobile app, as even though those things can be implemented into the web app, a very large amount of people just use Trust Wallet on Mobile and use Dapps with the app’s embedded web browser. A mobile app would serve those users amazingly well. On iOS, Apple actually banned Trust Wallet’s embedded web browser so currently it’s not even possible to use Dapps on iOS - a dedicated mobile app would be the only option. An additional bonus would be that a mobile app written in Flutter with proper responsive UI could also replace the existing Orakuru web app with only some modifications to account for platform differences since Flutter runs on the web too - nice single unified codebase for everything.

2 Likes

Hi there, the proposal is neat, and I was mumbling of something similar (not for nodes, but ORK dapps instead) integrating Solana’s Maps.me & Orakuru Ambassador program to highlight crypto-friendly businesses (curated by ORK ambassadors).

This only makes sense in a mobile app, and somehow fits the Oracle concept by integrating real world with crypto.

You have my vote on an ORK mobile app so integrating new functions will be way easier.

1 Like

I voted for more discussion required, because I’m wary that the complexity to integrate Orakuru crystal ball is being underestimated here.

Additionally, for a potential user, I doubt there is much incentive in being a mobile node operator due to a couple of factors:

  1. Consider data volume, connectivity stability and device resource requirements to run a node operator on mobile. Monitoring and ensuring optimal mobile performance on these, is likely to negate the benefits of wide accessibility of mobile integration. Not many potential mobile app users are fit for it, in commitment or ability.
  2. Staking is available, making it more convenient than setting up a node operator on mobile.
  3. If we run by the general assumption that mobile devices are less stable than VMs or desktops, then mobile node operators may in fact have their own staked ORKs slashed.

Thus in general, it may not be worth the effort and resources to build node validation capability on a mobile app, with little user uptake for the feature.

Other than that, I think this mobile app is a good idea, and worth considering further, but with specification rescope.

3 Likes

the idea of mobile node validation reminds me of nerve (the movie) lmao…its a decent idea tbh but i feel the same as you, the complexities are too damn high. But, lets not dissuade, if he can implement it and it actually works as intended without any latency and is secure, it would be a massive feature. Innovation in the tech world is mostly one solving a complexity that others hadn’t thought of or deemed too complex to be done. I feel @K1ra should come up with a budget for his proposal and try and build and test. Worst case scenario if the node validation doesnt work, we still get an app with loads of features which in itself is a massive W for the project. Godspeed mate

2 Likes

Yes, a mobile app in general is a good idea.

Let’s talk next steps
Alright, as I mentioned on Discord, people in favor of having an app in one form or another are 82% of the vote and the numbers have been like this for a while. Needs more discussion is on top, so let’s have some more discussion. Over the past few days, people both on here and Discord have suggested various features, some completely outside of the scope of what I originally proposed. That’s not a bad thing and I think it would be cool to have them, but having a big bloated everything-app with every single feature imaginable is not a good idea.

Below, you will find a list of proposed features and will be able to vote on them. Feel free to suggest features to me either on here or on Discord, I will edit this post and add them to it. In a couple of days, I will tally the polls and come up with a final (for now) list of desired features and their priorities. The priorities will be based on 2 things:

  1. Number of votes in favor (Feature A has 10 votes in favor, Feature B has 5 votes in favor. So Feature A has a higher priority than Feature B)
  2. Dependence of one feature on another (Feature A has 10 votes in favor, Feature B has 5 votes in favor. But Feature A depends on Feature B being implemented. So, feature B has a higher priority so that Feature A can be implemented)

I will attempt to group similar/complimentary features together - the best solution to avoiding the single big bloated everything-app is to just make multiple apps, drawing the lines where it makes sense. The main Orakuru app will be the priority. After it is complete, I will be able to work on the other apps. There will probably be additional polls on this later.

To reduce the potential for never-ending discussion and to keep the project moving forward, there will be no “Needs more discussion” option on the polls. Features that didn’t make it can be re-suggested, re-discussed, and another poll can be had at a later date.

Budget
The issue of budget was mentioned in the comments here, so I’d like to address it. I will be quitting my current job in a bit over a month, and from there, there are 2 options:

  1. Work on the app full-time as a fully paid dev on the Orakuru team
  2. Find another job and only be a part-time Orakuru team member

I am actively working on finding another job and exploring all my options. Depending on how that turns out, the situation may evolve. But, with either option, I do really like the Orakuru project and want to work on it regardless and see it succeed, whether it be full-time or part-time. I will also be transparent and say that unfortunately pay will be a factor in my decision between option #1 and #2, and is (just) one of the reasons I am quitting my current full-time job - the cost of living in a big city in Canada is unreasonably insane but that’s a whole other can of worms.

The features
If I didn’t put down your suggestion, I must’ve missed it somehow. Ping me on Discord or comment here, and I will update this post as necessary.

  1. Wallet

This feature is a must, because a lot of other features depend on it.
In its most simple form, it can just be a readout of your current ORK balance in ORK and USD based on the current price with options to send, receive, and once ORK is listed on a big CEX, the option to buy using fiat currency via that CEX.
A more intermediate form would be a wallet where ORK is featured front and center, but you can add other BSC tokens and have the option to send/receive.
The most extreme option would be to have a full-fledged multi-chain wallet, similar to Trust Wallet.
I think that option #3 (full fat multi-chain wallet) is scope creep and at most we should just go with the BSC wallet for now, if not just ORK-only. Adding additional tokens would branch into the possibility of many additional features like charts and integrating a DEX, and I think that’s losing sight of the original vision, at least for now. We can easily revisit these additional features in the future.

As commented by mikelrubio, I forgot about Solana. I made a new poll with an additional option - BSC only for now, with Solana support added in the future once Solana happens.

  • ORK-only
  • BSC multi-token only
  • BSC multi-token + Solana later
  • All the coins on all the chains

0 voters

  1. Staking dashboard

(Choosing validators to stake on, linear vesting, validator performance, possibly remote control of your own validator)

  • For
  • Against

0 voters

  1. Orakuru news dashboard
  • For
  • Against

0 voters

  1. Orakuru prediction markets
  • For
  • Against

0 voters

  1. Orakuru governance

Sign into your account, and participate normally as you would on web. The governance forum seems to be 3rd party forum software, so I will need to see if there are APIs I can hook into. If not, I may have to resort to raw HTML parsing (A doable solution, but it may not work)

  • For
  • Against

0 voters

  1. Orakuru data feed dashboard
  • For
  • Against

0 voters

  1. Mobile node validator

Opinion on this is mixed. This would just be an experiment and may not work out at all. Maybe it works, maybe it’s a waste of time and resources

  • For
  • Against

0 voters

  1. Integrating Solana’s Maps.me & Orakuru Ambassador program to highlight crypto-friendly businesses (curated by ORK ambassadors)
  • For
  • Against

0 voters

  1. The business side of Feature #8. A simple crypto Point-of-Sale system using ORK as a currency.

This is a new idea of mine. Essentially a business adds their products and prices in USD to a list in the PoS. Then, when making a sale, they select the items/quantity and the app will calculate the price in ORK based on the current exchange rate and provides a QR code. The customer scans the QR code with their app, taps an “approve transaction button”, and the correct amount of tokens is automatically sent to the merchant.

  • For
  • Against

0 voters

  1. DeFi Samurai Dashboard, in-app

https://governance.orakuru.io/t/defi-samurai-dashboard-defis-trusted-dojo/2041
I think that this should be its own separate app, and should be made later.

  • Should be its own separate app, and should be made later
  • Split into feature list and add polls to this post

0 voters

Thanks for reading, voting and commenting. As always, the plan will evolve based on your feedback

1 Like

Amazing post, and so many things to be checked.

Well, for starters, all the best for your job search. I spent some few days in Toronto so just ate some cheap Tim Hortons all day long; I assume nobody can survive feeding with that for years :joy:

You have my vote on all the items, let’s see how it turns out. I’ll be monitoring this as well.

Ah! Just an add-on to question #1 - as Solana is happening, maybe you can consider something half-way between All Chains & BSC only.

1 Like

I concur with this, wallet wise it has to have Solana support when the time comes since some of the tokens will be tradeable in solchain. Also we need BSC multitoken support due to yesterday’s introduction to mate. This also is the first orakuru incubator project and there will be more, thus, bsc multitoken support should be a day 1 feature.

A feature I would suggest is to have a web browser in built or some way for a user to interact with mate or trade in one way or another since there is a wallet connected. I have a feeling mate could be a breakthrough in trading for pancakeswap (with the right marketing). If this does happen this would put your app in a prime position. I also personally would love to see every orakuru project compliment each other and work together seemlessly.

I appreciate this endeavor you’re taking @K1ra the ideas and quality of post is 10/10.

I’m dumb and accidentally nuked the votes in the feature polls while trying to edit the post. Seems like I cannot edit a post that old. Please re-vote, sorry

Now, back to business
I completely forgot about Mate, but I agree with @Fre3zeY
We have two options for this.

  1. Plain old embedded web browser
    Trust wallet had this and Apple forced them to remove it from their app. Could work on Android, but I’d like things to be consistent. Could always try this anyways and if Apple forces removal, so be it.
  2. Exchanges are really just smart contracts on the blockchain, and their websites are just a means of interacting with the smart contracts in a user friendly way. So, all of this is to say that Mate can be built directly into the app as far as I am aware. This is my preferred option
  • Build Mate directly into the app
  • Against

0 voters

  • Add a Dapp browser and see what happens
  • Don’t bother

0 voters

1 Like

For those concerned about battery and data consumption, presumably the benefits of running the node would justify running a spare mobile device at home on your wifi and plugged in.

2 Likes

I voted against for point 9 - A simple crypto Point-of-Sale system using ORK as a currency…

Ork’s purpose in the whitepaper, is for transaction of data feeds between callers and validators. As a young Oracle, I think the community should be hyper-focused on the oracle functionality. So introducing the idea of $Ork as a day to day currency may give mixed signals on the true purpose of Orakuru.

Additionally, with all the competition amongst other tokens and L1 coins to be consumer currency; incoming regulations for crypto usage by consumers & merchants; needing to drive biz dev for merchant adoption of Ork as payments etc, I think there’s little upside in allocating much resources to develop this aspect.

I mean it’s nice to implement, but there’s not much benefit to it, in our use case.

2 Likes

I agree. I don’t see why people want to use tokens to buy things. Price fluctuation makes most crypto pointless as an actual currency.

I think of my ORK more like stock. One that will hopefully 100x and more with the success of the project.