GnucDNA is a software library for building peer-to-peer applications. It provides developers with a common layer to create their own Gnutella and/or Gnutella2 client or network. As a separate component, GnucDNA can be updated independently of the client, passing down improvements to the applications already using it.
GnucDNA is a wide-spread and established library which can be extended by programmers. It includes the capability of forming a decentralized network between peers with integrated ultrapeer support, allowing the network to avoid bottlenecks of low bandwidth nodes. It gives programs which link to it the ability to share files with built in support for uploading, downloading, file queuing and partial file sharing (the ability to upload verified chunks of a file while it is downloading), hash those files, extract meta-data to be shared through the network, and the ability to perform advanced searching by specific hash and meta-data parameters. GnucDNA also offers applications the ability to update their software easily through the same P2P network that they create.
The GnucDNA component is COM based to inherit the advantage of language independence and versatility. Applications in C++, Visual Basic, .Net, and even scripts can utilize GnucDNA. Also by being a separate component, it can be used in a number of alternate situations such as part of a plugin, a service or running behind a web server.
Over five years of development have already gone into coding, improving, and testing the GnucDNA as part of the Gnucleus project. As others took notice of the project the engine was duplicated over 15 times, but while the interfaces and services others provided were great, they could not keep up with the main development. With the Gnucleus engine, (or GnucDNA) now running as a separate component, anyone has access to it without fear of falling behind in the developments and improvements that are made. It also opens up new doors for those interested in creating their own P2P networks, but do not want to re-invent the low layer communication and file transfer mechanisms.
- Peer-to-peer - P2P protocols and clients
- Gnucleus - Gnutella client which created the GnucDNA core
- Kiwi Alpha - uses the GnucDNA engine.
- Morpheus - has used the GnucDNA core.