First get a year of full-time programming time, at least if you want to write a client with any chance of being accepted by the majority (and being able to keep connections active).
Writing a Gnutella-Client isn't piece of cake. Phex has about the least code-obscurity I found for a Gnutella Client, and now that you know something more about Gnutella, the Phex-sources should have opened up a bit for you.
What do you want to do with it? |