Control your own content
Phantasma is a platform where the users control their own content, instead of relying in third parties servers. The platform supports any kind of transactions between users, eg: email, chat, files, money transfers.
Features
Mailboxes
Phantasma users can create a mailbox that is used to receive content from other Phantasma users.
Distributed Storage
Phantasma uses IPFS to store the content associated with each transaction, encrypted with the keys from the user's NEO wallet.
SMTP Gateway
The SMTP Gateway is used to connect Phantasma to the outside world of "normal" email. This allows Phantasma mailboxes to act as a normal email inbox.
Developer Q&A
Can you outline the basic functionality of Phantasma?
Phantasma is easy to describe. It turns every NEO address into a mailbox capable of receiving and sending Phantasma content (which can be any kind of file / mail).
Who will use Phantasma and how will they benefit?
I wanted to create an dApp that could be used by normal people that don't even know what a blockchain is.
However, the main target users of Phantasma are people who want an email they have full control over (meaning no goverment / third parties can access it).
Can you describe the process of sending a file on Phantasma? How does this work on the blockchain and where is this data stored?
Sending a file via Phantasma works like this:
1. A user selects a destination user and file from his own PC / phone.
2. The file is encryped using the destination user's public key.
3. The file is uploaded to IFPS network and a hash is returned.
4. A transaction is sent to the NEO network / Phantasma smart contract containing something like user X sent file Y to user Z, where Y is the file hash returned by IFPS.
5. Once the transaction is confirmed, the user who was sent the file will get a message in his Phantasma inbox.
Since the contents of the file are encrypted, even if the actual files are accessible by anyone with the hash, the contents will only be acessible by the receiver who owns the corresponding NEO wallet.
.
Are there any limits to the types of content or size of files you can send?
In theory any files can be sent, of any size, but since it is a distributed system, someone has to host them, for now the the sender will assume responsibility. Later I will have to introduce limits.
Basically, since using Phantasma will in theory be free to use, the cost for the users will be hosting files from other random users, in order to keep the system running.
What are your plans for ongoing development?
I'm now working on getting the Phantasma Android app running with the NEO test network, so that I can start getting feedback from users.
After this, the focus will shift to the Mail Gateway, which allows communication from the Phantasma network to the outside world.
With those two main features in place, Phantasma will be already quite usable.
What language did you use for development?
I used C# for everything, including smart contracts, mobile apps, and the web backend.
What SDKs, APIs or frameworks did you use to develop Phantasma?
Besides the official NEO framework, and Xamarin for mobile development, everything else was done from scratch.
How would you describe your experience developing on the NEO platform?
Besides a rocky start when I was trying to find all the info I could, and sometimes not even finding aswers to simple stuff, with some perseverance I was able to find my way with NEO.
And now I would say that developing for NEO is much easier than I expected, the community is great and helped me a lot.
"One of the potentials of blockchain technology is that it will allow a user to keep control of their own data. We were impressed with Phantasma as it concretely delivers on that promise by demonstrating a real use-case, email, in an easy to use package. As well as being widely useful in a number of other areas, the professionalism of the code and overall package ensured the Phantasma team a winning spot."
Ashant
City of Zion Council
Join the NEO Stack Exchange
The NEO Blockchain Stack Exchange site was proposed in order to give developers a place to ask questions, get answers, and discuss the NEO blockchain with each other. We're about halfway to getting the site to Beta status, and every commit to the proposal helps.
commit to the proposal here!