12 ms·
Show HN: Graphite – A decentralized and encrypted Google Docs alternative
- mariushop 9y agoCan I just say I found this thread very informative for tackling encryption on a web text editor/document storage:)
- djsumdog 9y agoThe github link really needs to be on the main site. I do like that the whole thing is GPLv3. Not enough GPLv3 stuff out there these days, or even GPL in general.
- ydecl 9y agoThis thing is fast! I'm impressed... Can't wait to see what's in the updates.
- Moodles 9y agoThis is probably a very naive question: What are the main differences between this and git?
- loueed 9y agoHeres how they explain it on the Blockstack website. Blockstack uses the lower layers of the traditional internet and focuses on decentralizing the application layer. Blockstack provides key tools and infrastructure to developers enabling decentralized storage and decentralized authentication & identity. Developers build single-page applications in JavaScript then plug into user-run APIs, which eliminates centralized points of control. Users run decentralized apps through the Blockstack browser and give explicit read/write permissions to their data. Information is encrypted and stored on users’ personal devices. There are no middlemen, no passwords, and no massive data silos to breach.
- jhunter1016 9y agoNot much of a better explanation than that! Thanks for posting that. I'd encourage everyone to take a look at blockstack.org and feel free to review Graphite's repo (it's 100% open source): https://github.com/jehunter5811/graphite-blockstack https://github.com/jehunter5811/graphite-blockstack
- bringtheaction 9y agoSign in button does nothing on iOS 11. Also, is the project open source? Otherwise there is less appeal even though it is decentralized.
- la_oveja 9y agoYes, it's in the FAQ.
- bringtheaction 9y agoAh yes so it is. I looked everywhere else but didn’t expect the FAQ to contain anything relating to that. Do you know the link to the repositories? They are not in the FAQ.
- jhunter1016 9y agoSorry I didn't put it on the marketing site. Need to get that updated. Here's the link: https://github.com/jehunter5811/graphite-blockstack https://github.com/jehunter5811/graphite-blockstack
- jhunter1016 9y agoGraphite is not yet available on mobile. Desktop and laptop only until probably the end of March.
- la_oveja 9y ago>Are there storage limits? >There are no storage limits for documents, spreadsheets, or messages. >How much does it cost? >Graphite for personal use is completely free. So, unlimited storage, shareable and decentralized, for free? Where's the bait?
- vsund 9y agoIt uses Blockstack for the decentralized foundation it's built on. (Among other things) Blockstack stores your data on storage providers you connected to it (such as Google Drive, Dropbox, etc). Both, Graphite and Blockstack, are fully open source. So there's nobody who will get in between you and your documents.
- jakecopp 9y agoIf it's stored on Google Drive, why not use Google Docs? If it's stored on Dropbox, why not use any local editor?
- JustFinishedBSG 9y agoBecause Crypto
- jhunter1016 9y agoStoring an unencrypted file with a single storage provider is neither private nor secure. Blockstack allows users to select multiple storage providers, allowing for data replication and mitigation of any single source of failure. Additionally, encrypting a file client-side before it is stored means that Google or Dropbox or whoever can snoop all they want and not be able to see your data.
- julienfr112 9y agoSpreadsheet and doc functionalities are very limited : you can't drag a formula, it just copies the value. You can't draw on a doc. It's more like a toy than a google doc replacement.
- pedalpete 9y agoThat's quite the compliment, the most impressive things are often mistaken as toys at first glance. Home computers were a toy, the internet was a toy, airplanes were toys, the automobile was a toy... I'm not suggesting that Graphite is going to have that kind of impact, but ...
- ggg9990 9y agoYes, but many more unimpressive things are correctly assessed as toys. Your argument is like someone saying, “he sucks at basketball, he was cut from his high school team” and responding “that’s quite the compliment, Michael Jordan was cut from his high school team.”
- jhunter1016 9y ago100% agreed on spreadsheets. Docs is designed for writing. There will be more features but drawing is not an early priority. Graphite just launched. You'll see improvements quickly. Thanks for giving it a shot!
- julienfr112 9y agoGambate !
- chillydawg 9y agoGraphite is an unfortunate name clash with graphite monitoring and metrics tools.
- Lerc 9y agoI made a graph plotter called the same. Even when I came up with the name I knew it would clash. I was unaware of the clashing projects but by using a non-mutilated word I was fairly certain they would exist. There are more projects than words, Possibly more projects than easily pronounceable utterances. Is there any good solution? The dystopian vision - "I'm sorry the project name Graphite is already taken, Graphite001675 is available"
- jacobush 9y agoFor now, if this takes off, monitoring is very niche compared to Docs.
- l2dy 9y agoAlso clashes with a "smart font" system: http://scripts.sil.org/cms/scripts/page.php?site_id=projects&item_id=graphite_home http://scripts.sil.org/cms/scripts/page.php?site_id=projects...
- comboy 9y agoAnd it's pretty popular. There are so many unique or made up names to choose from that help users later when looking for some solution tremendously. Why choose something that is already associated with some popular software? Especially given that it's also going to have some charts.
- lawnchair 9y agoThis will easily be confused with Graphite the monitoring tool
- jhunter1016 9y agoGood feedback! I actually wasn't aware of Graphite Monitoring until this comment.
- lazyjones 9y agoThat's not the only name clash... Didn't you google for "graphite" before choosing the name? https://en.wikipedia.org/wiki/Graphite_(software) https://en.wikipedia.org/wiki/Graphite_(software) http://ashlar.com/2d-3d-drafting/2d-3d-cad-graphite.html http://ashlar.com/2d-3d-drafting/2d-3d-cad-graphite.html https://en.wikipedia.org/wiki/Graphite_(SIL) https://en.wikipedia.org/wiki/Graphite_(SIL) http://alice.loria.fr/index.php?option=com_content&view=article&id=22 http://alice.loria.fr/index.php?option=com_content&view=arti... http://www.samsontech.com/support/samson/products/graphite49/ http://www.samsontech.com/support/samson/products/graphite49... ...
- jhunter1016 9y agoGraphite is the material from which pencil lead is made, a fitting name for a writing app. The expectation was never that Graphite (this one) was going to be the only company, app, or service with that name. Thanks for the links!
- lazyjones 9y ago"GraphiteDocs" would probably work better in the long run.
- jhunter1016 9y agoGraphite Docs is the legal name of the company :)
- 9y ago
- pjmlp 9y ago> Own your documents Rule number one is not to rely on other people's computers to write them in first place.
- vog 9y agoNot sure why you were downvoted, because I think you have a very good point. I often see us, as web developers, being blind to obvious, simple, local solutions. Perhaps this is because in many areas going from native to web is a win. Or, because too many web developers are exposed to business models around developing web applications mostly as a vehicle to fetch user data. (Fortunately, this is not true for intranet web applications which is a niche where I'm quite happy to work in.)
- jhunter1016 9y agoThere's nothing wrong with local applications. What Graphite is trying to solve for is the convenience of access across multiple devices without losing the privacy of what you'd expect from a local app. Happy to talk more about this in detail!
- icc97 9y agohow does this differ from local documents combined with dropbox?
- jhunter1016 9y agoGood question. The primary difference is that your file data is encrypted client-side before it ever reaches the storage provider of your choice. And that data can only be decrypted client-side in the app. You can, of course, PGP (as one example) encrypt your files yourself and store them on a local Dropbox folder that syncs. But, Graphite is encrypted by default without any additional work on the user's end. The other main difference is that you can share your files with anyone that has a Blockstack ID regardless of what storage method they use. You might use Dropbox while another user uses Azure, and neither user would know the difference, and the app will work seamlessly.
- hliyan 9y agoLooks good, but as a google docs alternative? While the editor is fairly usable, the spreadsheet is very feature anaemic -- just enter data, export as CSV, insert/delete rows, alignment, fill handle, simple formulas and print. Although I did notice that it allows you to right click and make individual cells read only. I wish Excel had that...
- jhunter1016 9y agoAbsolutely agree with you on spreadsheet functionality. But the additional features you're looking for are coming. I should have a public roadmap out soon that I'd love to get feedback on.
- hliyan 9y agoThat's great to hear! I just noticed that functions like SUM and MEDIAN also work, which is a good thing.
- jhunter1016 9y agoYes! All of the Javascript Math functions should work. Let me know if you hit one that's not working, though.
- y4mi 9y agohaha, i've pretty much migrated to google docs, so i didn't realize how terrible that workflow was in excel. I didn't need such a function back when i still used it. for anyone else wondering: you can only have a whitelist of editable fields in an excel worksheet, and adding items to that whitelist is a well hidden feature https://support.office.com/en-us/article/lock-or-unlock-specific-areas-of-a-protected-worksheet-75481b72-db8a-4267-8c43-042a5f2cd93a https://support.office.com/en-us/article/lock-or-unlock-spec...
- sametmax 9y agoToo many pages and things to fill before even trying the product. The way to even start a quick hello world is really not obvious.
- jhunter1016 9y agoThis is helpful feedback. You have to download the Blockstack Browser in order to communicate with the blockchain for registering your name and zone file. However, you should be able to get up and running in just a couple minutes. Any suggestions for specific improvements?
- sametmax 9y agoIf I give a try to a similar product, I want it to be as easy as: https://framapad.org/ https://framapad.org/ Then I can sign up, and so on.
- jhunter1016 9y agoThanks. Unless I'm missing something, Framapad and Etherpad are centralized services. Graphite is decentralized.
- sametmax 9y agoYes. The ease of experience is what i look for, not the same features. We all get a decentralised service is harder to setup.
- larrysalibra 9y agoLarry from Blockstack here. We're really focused on improving the on-boarding process for users who are new to the Blockstack ecosystem so it only takes on a few seconds for users to get started with a Blockstack app instead of immediately asking users to download and install the Blockstack Browser. There's a bit of a discussion about how this will work on mobile here: https://forum.blockstack.org/t/blockstack-mobile-plans/3621/6?u=larry https://forum.blockstack.org/t/blockstack-mobile-plans/3621/... We want to really reduce the friction of on-boarding new users to amazing apps like Graphite.
- tamalsaha001 9y agoWhen is the ICO?
- chrisvalleybay 9y agoBlockstack already had one. https://icodrops.com/blockstack/ https://icodrops.com/blockstack/
- jhunter1016 9y agoHa! I'll leave the ICOs up to the folks powering the ecosystem for decentralized apps.
- ThePhysicist 9y agoCongrats, this looks really great! Do you plan turning this into a product/service or is it a side project? I think there's a real market for secure alternatives to popular cloud services so I hope this will be successful. Personally, I moved most of my data and services (G-Mail, Dropbox, AWS) away from the US to European alternatives, which fortunately stepped up their game in the last years (IMHO) and are often quite usable. I haven't found a good alternative to G-Docs for collaborative editing though, so pretty excited about something like this. I think a traditional encrypted backend data store would be more adequate for most users though.
- jhunter1016 9y agoThanks! Yes, there are enterprise features in development for the business side of things. The consumer app that you see (plus enhancements coming) will continue to be free, though. I can imagine a world where Blockstack apps and other decentralized apps can be combined to replace all of the cloud services we've been indoctrinated into believing were necessary.
- ataturk 9y agoThere is also a great need for a secure alternative to today's cell phone OS offerings as well.
- RobLach 9y agoI believe this is only decentralized in intent and not actuality. This runs on top of Blockstack and after reading their Token whitepaper, particularly the section regarding the governance of the protocol... [1] Initially the stakeholder votes will be used as signaling and will not automatically activate protocol features. Fully-automated voting on protocol upgrades is an area of active research. So currently how I'm understanding is that at this point the protocol is controlled and hard forked at the whim of an oligarchy (a foundation I believe) with how it'll work down the road a point of "research". Furthermore... The initial trusted-set [of users] requires a single gatekeeper to perform identity checks. I probably just don't understand. [1]https://blockstack.com/tokenpaper.pdf https://blockstack.com/tokenpaper.pdf
- tinco 9y agoThough I understand your sentiment, please note that the protocol governance problem holds for most major currencies (i.e. Bitcoin, Ethereum, etc). So it is not a unique flaw to Blockstack. Please also note that though if you think about it from a centralized perspective (i.e. you using your regular browser downloading Blockstack from their own website) then yes, it is centralized. But if you think about it from a community perspective, since all code and protocol is open source, it is trivial to establish new protocol and code regardless of authority. So the essence of it is decentralized. And this is not just some theoretical thing, all of the major coin protocols have gone through community driven ('decentralized') forks that went directly against whoever was leading the projects at that time. For example Bitcoin<->Litecoin (and notable BCC recently), Ethereum<->Ethereum 'Classic' and Ripple<->Stellar.
- zaarn 9y agoThis looks quite interesting. For a full replacement I would require a presentation app though. Is there a planned option to selfhost the frontend for personal (and/or limited) usage?
- jhunter1016 9y agoPresentation app is on the roadmap. Honestly, I've been waiting to see how much demand there was before we launch into that. And yes, you can host since this is a serverless app. If you go to the repository, you can clone and run locally or deploy to the domain of your choosing if you want. The key thing to note, though, is that the app origin is used for storage. So, if you create documents locally, they will be accessible anytime you run the app at localhost:8080 (or whatever port), but they won't be accessible at app.graphitedocs.com. Similarly, if you self-host, those documents will be available at that app origin domain, but not others. If you want to use Graphite and share files, the best bet is to run it at app.graphitedocs.com, but you absolutely do not have to.
- deleted 9y ago[deleted]
- toyg 9y agoThis seems to rely specifically on the Bitcoin blockchain. From the Blockstack-Core node install instructions: "Because each Blockstack Core node maintains a full copy of the network state locally, it will need to synchronize its state with the Bitcoin blockchain when it starts for the first time. This can take days." That's bad news in my book, Bitcoin is a very unstable world. I'd rather rely on a dedicated blockchain.
- jhunter1016 9y agoThis is only if you choose to run a core node locally. Not all user will do so, and for them, they will be up and running in a couple minutes. The bitcoin blockchain is just the current blockchain being used. Blockstack was built to be migratable to any blockchain. In fact, they've already migrated once successfully.
- toyg 9y agoYeah, I guess it's more a criticism of Blockstack than Graphite specifically.
- jude- 9y agoBlockstack engineer here. Just want to clarify for other readers that Blockstack Core has a "fast-sync" mode that lets you spin up a full node in a minute or two. The downside is that it uses a recent signed snapshot from Blockstack PBC's servers (the public key is built into the software). If you have it installed, you can this to get started: $ blockstack-core fast-sync
- dingo_bat 9y agoHow is this free? From the FAQ I can see they store the data blobs in Azure. It will get really expensive really soon.
- jhunter1016 9y agoStorage in a data blob in Azure is just the default storage option. Users can and should connect their own storage providers (multiple for best prevention against centralized failure).
- marknadal 9y agoCool concept, but note: I just tested this, and it is NOT a google docs alternative - it has no realtime sync (or at least, it wasn't working). I work extensively on decentralized/P2P distributed systems and realtime P2P sync is non-trivial, you need to use a specialized CRDT for it: - Here is an interactive animated explainer on how to do a P2P realtime syncing CRDT: http://gun.js.org/explainers/school/class.html http://gun.js.org/explainers/school/class.html - Here is an excellent more detailed explanation of how such a CRDT works, by Martin Kleppmann: https://www.youtube.com/watch?v=yCcWpzY8dIA&feature=youtu.be&t=29m36s https://www.youtube.com/watch?v=yCcWpzY8dIA&feature=youtu.be...
- jhunter1016 9y agoYou're absolutely correct. In this iteration, collaboration is achieved asynchronously. Share a file, receiver can edit, receiver can share back, etc. Because real-time collaboration is not trivial, as you mentioned, we're making sure we do it right.
- marknadal 9y agoWould love to help you out on that algorithm, I (and a bunch of other friendly P2P people) hang out at https://gitter.im/amark/gun https://gitter.im/amark/gun ! I know it isn't as catchy as Google Docs, but perhaps having the title be "Evernote alternative" or something like that? (IDK if evernote has realtime typing, I doubt they do... or somebody similar that doesn't), so that way people don't get dissapointed?
- jhunter1016 9y agoI sincerely appreciate that. Joining the Gitter room now :)
- brokenmachine 9y agoJust checked out gun, I have to say the tutorials are very well done. I'm not a javascript guy but I've been enjoying them. Looks like a great project!
- icc97 9y agoThe features page [0] has as much content about 'contacts' as it does docs or spreadsheets. Personally for me the most important thing is that it can do all that I use Word/Excel for (I know this doesn't have to be the full feature set) - because without that I couldn't use it. So I would put the Docs / Spreadsheets sections at the top with screenshots of a reasonably complex document (contents/images/tables/sections) then a reasonably complicated spreadsheet. Only then after that would I start talking about contacts. There's a claim that it contains 'All the features you've come to expect from Google and Microsoft'. This could do with a comparison table saying exactly which features / functions are available across Word/G Docs/Graphite and across Excel/G Sheets/Graphite. [0]: https://www.graphitedocs.com/features https://www.graphitedocs.com/features
- jhunter1016 9y agoThis is really great! I appreciate the ideas and feedback.
- Erlich_Bachman 9y agoImportant note, a project that you need to look at if you are looking for a similar thing: Airbornos. It has about the same general premise, but is even more secure in some aspects, and is already operational. (No affiliation.)
- jhunter1016 9y agoAirborn is solid! Graphite is decentralized, where Airborn is not. But that's not to say Airborn isn't a great project. And for what it's worth, Graphite is also operational :)
- dsacco 9y agoI see no mention anywhere, on Graphite or Blockstack, about how the encryption actually works. I’ve checked the following resources: * The Blockstack whitepaper: https://blockstack.org/whitepaper.pdf https://blockstack.org/whitepaper.pdf * Each of the System Design documents listed here: https://github.com/blockstack/blockstack-core/tree/master/docs https://github.com/blockstack/blockstack-core/tree/master/do... * Blockstack General FAQ: https://blockstack.org/faq https://blockstack.org/faq * Blockstack Technical FAQ: https://github.com/blockstack/blockstack-core/blob/master/docs/faq_technical.md https://github.com/blockstack/blockstack-core/blob/master/do... * Blockstack Repository Readme: https://github.com/blockstack/blockstack-core https://github.com/blockstack/blockstack-core * The Graphite FAQ: https://www.graphitedocs.com/faq https://www.graphitedocs.com/faq * The Graphite Features: https://www.graphitedocs.com/features https://www.graphitedocs.com/features This is a red flag. “Encryption” is far too unspecified. I’m looking for specific primitives, constructions, algorithms and design decisions. I want to know how key exchange happens, if a library like libsodium is used, whether you’re using AES-GCM or ChaCha-Poly1305, etc. I’m looking for an architecture diagram to understand which of these questions is coherent. Is key derivation used? Under which algorithm? I’m assuming your IDs are SHA-256 hashes, but is that correct? I don’t know. Basically, aside from saying there are “ECDSA private keys” in passing, how precisely does encryption, key exchange and digital signing work? Maybe I missed a pretty obvious explanation in here - I was reading quickly (though pointedly). However, if that’s the case then mea culpa, and it should be easy to rectify by pointing out where exactly I missed this documentation. For reference, here are examples of documentation I’m looking for[1]: * Restic, under “Keys, Encryption and MAC”: https://restic.readthedocs.io/en/latest/100_references.html https://restic.readthedocs.io/en/latest/100_references.html * Wireguard: https://www.wireguard.com/protocol https://www.wireguard.com/protocol A basic overview of each primitive with a brief explanation of why it was chosen would go a long way here. I understand if Graphite is too young for this (though this should be a priority), but Blockstack should absolutely have something like this documented poignantly. If Blockstack does have this documented, Graphite should really link to it (poignantly). ________________ 1. I have no affiliation with either of these, though I personally use them, and they’re not competitors anyway.
- ablankst 9y agoI'm on the engineering team at Blockstack, and wrote the client-side encryption functions used by applications. I totally agree with the idea that if software uses encryption, it should be documented, open-source, and ideally use a standard encryption protocol. Being able to say "this is exactly how encryption works" in a system is important, and I'm glad you're asking these questions. Encryption in Blockstack apps is performed client-side via library calls in blockstack.js (our javascript library). The encryption routines are implemented here [1], and implement ECIES, using the user's application-specific private key. That private key is passed to an application during the application authentication process [2]. All a blockstack application has to do is pass { "encrypt": true } in the storage routines, and this is invoked. We definitely would like to provide better documentation and messaging around how applications engage and use our client libraries -- and documenting our encryption routines is part of that. However, in the meantime, you can feel free to check out or codebase (it's all open source), and we'd always welcome any kind of feedback! [1] https://github.com/blockstack/blockstack.js/blob/master/src/encryption.js#L63 https://github.com/blockstack/blockstack.js/blob/master/src/... [2] https://github.com/blockstack/blockstack.js/blob/feature/auth-doc-improvements/src/auth/README.md#app-private-key https://github.com/blockstack/blockstack.js/blob/feature/aut...
- jaggs 9y agoI really like this a lot. I like the fact it gives choices, it's open source and the first implementation is really solid for an MVP. Well done. It's rather like a cross between OwnCloud and that online app container service I've forgotten the name of. :) One major point though. Top of your dev timeline should be mobile!
- Gaelan 9y agoSandstorm?
- jaggs 9y agoYES! Thanks. :)
- jhunter1016 9y agoAbsolutely! End of March is the target.
- jaggs 9y agoExcellent. Your challenge then is going to be how to keep it in people's minds long enough to gain a decent amount of committed traction. So many web apps like this come and go, but I have a feeling if you keep this simple and do some clever marketing (e.g. alliances) then this could be a real contender.
- BLanen 9y agoAnother unnecessary application of blockchain tech.
- tenryuu 9y agoI still don't understand why everyone is going on about the block chain
- gfodor 9y agoPrediction: every dapp that ships over the next year as these technologies mature will have its top comment on HN be "actually this is not 100% decentralized" it would be very helpful to get out ahead of this and have a framework for classifying how decentralized an app is. otherwise we may find ourselves in a situation where nobody migrates off of fully centralized apps to less centralized apps because they aren't "fully decentralized", which would be a shame.
- skiman10 9y agoI completely agree. Do you have any thoughts on a framework for classifying these 'decentralized' apps?
- ucaetano 9y agoOne way to do it is to think about which parts are centralized vs. distributed vs. replicated: discovery, authentication, processing, storage, files, etc. Take bitcoin, for example: the ledger is centralized (there is a single monolithic one) but its storage is replicated (there isn't a single central storage location) and the processing is decentralized.
- mattnguyen 9y agoIt doesn't follow that a "single monolithic ledger" means Bitcoin is decentralized. Since all (full) nodes carry a copy of the entire ledger and every participant in the network can propose transaction blocks to the blockchain, there isn't one party that controls writing to the ledger. Risk of centralization comes from mining pools that control 51% of the hashing power. [1] [1] https://bitcoin.org/en/glossary/51-percent-attack https://bitcoin.org/en/glossary/51-percent-attack
- ucaetano 9y ago> It doesn't follow that a "single monolithic ledger" means Bitcoin is decentralized Oh, I never mentioned that. But the implication of the single, monolithic ledger is that it isn't partition-tolerant, if you don't have access to the ledger, you can't transact. IIRC, the lightning network kinda addresses that by allowing off-central-ledger transactions.
- JepZ 9y agoLately, I see the trend of calling a lot of different things decentralized. In fact they all are, but at the same time they are very different. The classical example of a decentralized application was the email server. Everyone could host one and they all would communicate with each other (in theory). And with the thing called Federation for Nextcloud, XMPP or Matrix servers it is pretty much the same. When you host a server, you have complete control over it. But recently, we see all those blockchain enabled networks which store the data on some of its nodes. You have no idea where your data is stored (cloud like), just protected by by some encryption, which is considered safe as of today. I am a huge fan of decentralized services as we have known them for a while, yet I look very skeptical at the new services. I mean they have their own set of unique features (e.g. excellent up-time, scaling on a network level, etc.), but at the same time they lack properties of the old decentralized applications (e.g. 'your data on your hardware'). Anybody knows if there are more precise terms than just calling them all 'decentralized'?
- djangowithme 9y agoIs the 16mb unsplash photo on the landing page really necessary?
- yydcool 9y ago100% decentralized? Where is my data actually being stored? This depends on your choices. By default, your data is stored in a dedicated Microsoft Azure Blob. Isn't that centralized? Azure is a centralized service, but by encrypting your data, and because your private key is never exposed, Azure cannot access your data. With data replication, there is no single-point of failure and no entity has access to the content of your files.
- brokenmachine 9y agoAre there any plans for an Android App, or will it all be browser-based? Also where is the github/code located?
- DavidNielsen 9y agoSeconded, e.g. going to the signup page on my iPhone 5 just leads to a blank page. I suspect the same might be true for my iPad Air despite being on a current iOS release. A slightly better onboarding experience would be worth a lot, even if the answer is "thine device is unsupported and no plan to support it exists."
- fiatjaf 9y agoWhat is Blockstack, in clear English?
- royglueck 9y agoWhile this one works great, what i would really recommend is a solution for integrating it with email. I found that the integration of using Hop email alongside this worked wonders Check it out at https://gethop.com/ https://gethop.com/?