* 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).
  • Hiring D programmers (with cry... Vitor Rozsas via Digitalmars-d-announce

Reply via email to