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