Image credit (@thepeakstudio)
I'm slowly getting back on track to work on a Ledger Hive Application. My previous post gathered a lot of traction so I feel committed to keeping you in touch.
HF25
The latest hard fork (which happened a few days ago) introduced few new transactions, so I decided to modify both the app and the library to support it.
Javascript library is available on NPM with a newest version 2.1.0
:
https://www.npmjs.com/package/@engrave/ledger-app-hive
Because the original repository seems to be dead (my previous Merge Request hasn't been reviewed or merged), I decided to move it to the new home:
- Ledger Application:
https://gitlab.com/engrave/ledger/hw-app-hive
- Javascript Library:
https://gitlab.com/engrave/ledger/ledger-app-hive
Here is my first recurrent_transfer
operation signed with my Ledger: https://hiveblocks.com/tx/76293c907bf0038076f3507402a716c7d0b8ed57
Code review
I'm slowly getting familiar with the codebase. What I can tell so far, is that it contains a lot of unused code which I'm removing. This seems like a copy-paste and I would really like to clean it before sending it to the official review. It also contains some code prepared for Ledger Nano X but I couldn't build it so far. This is probably some kind of a left-over from the boilerplate so there's a lot of work to be done yet.
I'm getting familiar with the ledger SDK as well to understand the code better.
Development stack and SDK
SDK used to build the Hive app is already deprecated. There is also a new firmware version (2.0) that is not compatible with the previous one, hence we cannot run the app on new devices. I'm trying to port it to the new SDK version. The new SDK unifies the user flow for both Nano S and Nano X, so finally, we could run it on both devices.
I've even bought the Nano X to be able to test the app against this model.
Ledger prepared a docker image that contains all the necessary libraries to build the app. Unfortunately, the newest version does not work with the actual codebase so I need to make some changes to build it but at the end, this should make future development much easier.
Ledger companion app
Simultaneously, I've started working on an electron-powered desktop app (as I promised in a previous post). I decided to go with Vue.js and for now, it contains basic CSS rules and views. Will push the code to the gitlab when it's a bit cleaner.
What next
To get this app accepted by the Ledger, it needs to fulfill security, documentation, and functional requirements but I would also make it more user friendly, so the plan is as follow:
- Make it compatible with a new SDK and 2.0 firmware version
- Make it working on both Nano S and Nano X devices
- Add Approve and Reject screens before signing the transaction
- Prepare user guide and developer's documentation for Ledger Team
- Develop a working version of the Hive companion app
- Submit the app for the official review
Follow me to be up to date with incoming development updates!
Click on the image to vote for @engrave witness:
Awesome work. Eager to support this on PeakD.com as soon as we have an approved version that can be used by all users 👍
I wouldn't suggest it for everyday use (posting key) but for active key and owner, it would be epic :)
Yes, I think it can be a perfect addition to PeakLock. So you can use your posting key easily and rely on the hardware wallet for active key transactions
What's the point of holding hive on ledger if you can't participate in governance nor you get the inflation?
Am I wrong?
Is there a way to make some kinda of wrapped Hive on Hive that will represent the stake held on ledger? :)
Regardless, well done!
There's no such thing as "holding hive on ledger" (it also applies to any other coin). You only hold your private keys on hardware, which means you need to use it physically to sign your transactions. Consider it like a "password manager" from which you cannot retrieve the private keys directly. This is the ultimate solution because you're not able to compromise your keys even if you try hard.
For example, I added one of my ledger development keys to my account:
In this case, I have no knowledge about my private key paired with this public key. It's impossible to retrieve it but I can use my Ledger Nano S to sign any transaction (which I did for example here: https://hiveblocks.com/tx/7c90e542263e8abae146aa787b0f347c008ac187)
You will be able to make governance votes etc. I already pointed this out in my previous post as I plan to make Hive Ledger targeted to governance and DHF. This could allow some bigger stakeholders to securely keep HIVE and HBD and take part in the blockchain live without the need to store the keys somewhere on a PC or mobile.
Oh haha, I totally misunderstood the point of Ledger, my bad.
Thanks for the explanation man, much appreciated.
It makes a lot more sense now!
i use my ledger to actually sign transactions and make trades over eos and newdex / alcor so yeah you actually can do all teh fancy stuff u wanted hive users are just stuck in 2018 world lol
well they have eos soooooo
dpos is possible, we can order ledger in france to support it from NATO command , macron has to do what we say
Great work, and really important. Very happy to see you picking up on this again.
I'm working on it because I would love to use it personally. And I believe it could bring some bigger stakeholders to us.
Have always wanted to see HIVE on a ledger I completely agree with you!
Hopefully... soon ;)
CAN'T WAIT! :))
Will at least bring the community that uses Ledger to have one more reason to try HIVE, at least!
Nice stuff... I have mine laying around somewhere at home, might give it a try once I can.
very nice. You made it!
Good job!!!
Could you use the work from before or had you build it from scratch again? Would be interesting because the netuso guy has become so many funds from DAO.
I'm continuing his work but most likely will rewrite the UX flow from scratch to unify it for both Nano S and X.
very cool!
Most excellent. Hive on Ledger would be so badass.
It will be!
i got STEEMP on eos on a ledger lol. also PHIVE will soon be on ethereum thanks to me demanding it so much from Ptokens.io then youll have that erc20 of PHIVE on the ledger. and ptokens is dope no fees its amazing https://dapp.ptokens.io
~~~ embed:1412692042925457408 twitter metadata:SGl2ZVBvbGlzaHx8aHR0cHM6Ly90d2l0dGVyLmNvbS9IaXZlUG9saXNoL3N0YXR1cy8xNDEyNjkyMDQyOTI1NDU3NDA4fA== ~~~
The rewards earned on this comment will go directly to the person sharing the post on Twitter as long as they are registered with @poshtoken.
awesome you are working on this!
my #ledger posted 20 hours ago lol
lets get money, lets get paid
just sent you 0.001 swap.LINK
now i just paid you some chainlink
lemme know when i can get my hive on mah ledger
Congratulations @engrave! You have completed the following achievement on the Hive blockchain and have been rewarded with new badge(s) :
You can view your badges on your board and compare yourself to others in the Ranking
If you no longer want to receive notifications, reply to this comment with the word
STOP
Check out the last post from @hivebuzz:
Thank you for taking a lead on this! I believe this will be a game changer on a number of levels.
saya yang masih pemula , ketika membaca hal seperti ini masih gila. adakah yang membantu saya untuk berkembang di platform ini
Amazing work. I'm glad to have you as a witness on hive.
I'm glad to hear that :)
Greetings @engrave may I ask if you have a project like steem pruner on Hive?
I never recycle old posts and they lose value after a year, so for security sake I would rather remove all of the older posts.
It's available here: https://steempruner.engrave.dev/
So, with this tool I can remove the 2017 to 2019 posts on PeakD?
Sorry, I misunderstood. It only supports Steem Keychain but the tool is opensource so if you know how to modify it (or know someone who does), you can use it for Hive also: https://gitlab.com/engrave/steempruner
Btw, what's the point of doing this for Hive chain?
Thank you and I am worried that scammers can get to my old posts.
Hope you are aware that there is no way real way to remove your posts from the blockchain, even if you use a tool like Steem Pruner (which in fact only edits all your posts with new content). There is an easy way to get those posts even when edited.
Oh man, so someone can grab my photos and sell them on other social media?
Or maybe I am just paranoid and should just leave all as is.
Congratulations @engrave! You received a personal badge!
Wait until the end of Power Up Day to find out the size of your Power-Bee.
May the Hive Power be with you!
You can view your badges on your board and compare yourself to others in the Ranking
Congratulations @engrave! You received a personal badge!
Participate in the next Power Up Day and try to power-up more HIVE to get a bigger Power-Bee.
May the Hive Power be with you!
You can view your badges on your board and compare yourself to others in the Ranking