Hiring D programmers (with cryptography and blockchain knowledge are preferred)
Vitor Rozsas via Digitalmars-d-announce
digitalmars-d-announce at puremagic.com
Tue Jul 11 21:40:16 PDT 2017
* First of all, does Dlang.org have it's own website for hiring D
programmers or offering D programming services? If not, it should!
Hello!
I need a project, and I want it done with D (please note that it
will be open-sourced, but I'll pay for the first functioning
version).
It is supposed to be useful for users of the project AND for
learners of D (so lots of comments in the source code are
actually encouraged!).
It's a social media. More specifically, an incensurable social
media; all it's posts will be stored in a blockchain, and this
will be copied and distributed through the world. I had the idea
after seeing that many political posts were being removed from
Facebook and Twitter. They are controlling people's opinions and
I don't like it. People should be free to say whatever they want,
this is freedom of speech.
What has to be done by now should be the "blockchain" server of
this social media.
The server should be somewhat easy, afterall... it should receive
posts that are signed by the user, and store the post (with
signature) if the signature corresponds to post's message and
public key of the user.
Posts should have an id (so they can be sent upon request of that
single post) and should be stored very orderly and organized
according to poster (so they can be sent all at a time upon
request of all posts posted by that user).
The server should send posts along with the posts' signatures so
the client can verify them as well.
When the client sends a request to create an account, it should
create the key-pair (either RSA 4096 or EC 512) and send the
public key to the servers.
The user should be able to send or edit their data at anytime
(names, nickname, email, phone, other social media, profile
picture upto 2 MB, etc.).
Only the user should be able to delete his/her posts through a
signed message to all servers.
So... basically, it's a Bitcoin, but instead of transactions, the
blockchain should store posts and profiles. :) And it should have
some additional features (the typical things of social media -
profile picture, some optional information about the user, etc.).
And obviously, it is supposed to be written in D, instead of C++
like the Bitcoin.
I also think that this blockchain shouldn't be downloaded by the
client like the Bitcoin does. Only the servers need it. Clients
will download only the posts that it needs (and requests).
I think this will be a great project for teaching the D language;
it has everything: internet conexion (sockets), cryptography,
"databases" (it's not SQL, or Mongo, but it's a database
anyway...).
And in the future, it will have a website (for teaching vibe.d)
and a graphical client (for teaching dlangui - at least, I plan
to use dlangui).
More information about the Digitalmars-d-announce
mailing list