Join our Discord Support Server
Holesail Server enables you to create peer-to-peer (P2P) protocol using HyperDHT.
Install the Holesail Server module via npm:
npm install holesail-server
Require the module in your project:
const HolesailServer = require('holesail-server');
Create a new instance of the HolesailServer
class:
const server = new HolesailServer();
Start the server using the serve
method and retrieve its public key:
server.serve({ port: 5000, address: "127.0.0.1" }, () => {
console.log("Server started");
console.log(server.getPublicKey());
setTimeout(() => {
server.destroy();
console.log("Server destroyed");
}, 6000);
});
Optionally, you can set a buffSeed
to ensure the server generates the same connection key every time:
server.serve({
port: 5000,
address: "127.0.0.1",
buffSeed: "4917816487c1822049939ff1abbf515663275105d01361bbc84fe2000e594539"
}, () => {
console.log("Server started");
console.log(server.getPublicKey());
setTimeout(() => {
server.destroy();
console.log("Server destroyed");
}, 6000);
});
// Note: buffSeed must be a 64-character long string.
Use the destroy
method to stop the server and clean up resources:
server.destroy();
Starts the server
-
options
(object):port
(number, required): The port to listen on.address
(string, required): The local address to bind to. Use"0.0.0.0"
to listen on all interfaces.buffSeed
(string, optional): A 64-character string used to generate a consistent connection key.secure
(boolean, optional, recommended): Prevents leaking access capability to HyperDHT by listening on a different seed than the one needed to connect.udp
(boolean, optional): Enables UDP instead of TCP connections.
-
callback
(function): A function that is called when the server successfully starts.
Retrieves the server's public key. Use this key to connect to the server from a client.
Stops the server and cleans up resources.
Holesail Server is released under the GPL-v3 License.
For more details, see the LICENSE file.
Join our Discord Support Server for help, discussions, and updates.