Files
logos-libp2p-module/metadata.json

55 lines
2.2 KiB
JSON

{
"name": "libp2p_module",
"display_name": "libp2p Networking",
"version": "1.0.0",
"description": "Libp2p network protocol module for Logos",
"author": "Logos Core Team",
"type": "core",
"interface": "universal",
"codegen": {
"impl_header": "plugin.h"
},
"category": "protocol",
"main": "libp2p_module_plugin",
"dependencies": [],
"include": ["libp2p.so", "libp2p.dylib", "libp2p.dll"],
"capabilities": [],
"config": {
"env": "LIBP2P_MODULE_CONFIG",
"description": "JSON config — inline, or a path to a JSON file — overlaid onto the default options when the module is loaded. Every key is optional; an omitted key keeps its default. The same schema is accepted at call time by createNode, which rebuilds the node before start.",
"schema": {
"addrs": "array<multiaddr string> — listen addresses",
"bootstrapNodes": "array<{ peerId: string, addrs: array<multiaddr string> }> — DHT bootstrap peers",
"transport": "string — \"tcp\" | \"quic\" (\"quic-v1\" accepted as an alias for \"quic\")",
"privKey": "string — hex-encoded raw private key bytes; gives the node a stable peer identity across restarts. Omit to generate a fresh key on each start.",
"keyType": "string — \"rsa\" | \"ed25519\" | \"secp256k1\" | \"ecdsa\"; scheme used only when generating a fresh key (privKey omitted). Defaults to \"secp256k1\".",
"maxConnections": "int",
"maxInConnections": "int",
"maxOutConnections": "int",
"maxConnsPerPeer": "int",
"autonat": "bool",
"autonatV2": "bool",
"autonatV2Server": "bool",
"circuitRelay": "bool",
"circuitRelayClient": "bool",
"gossipsubTriggerSelf": "bool",
"mountGossipsub": "bool",
"mountKad": "bool",
"mountServiceDiscovery": "bool"
}
},
"nix": {
"packages": {
"runtime": ["nlohmann_json"]
},
"external_libraries": [
{ "name": "libp2p", "vendor_path": "lib" }
],
"cmake": {
"extra_include_dirs": ["lib"]
}
}
}