diff --git a/docs/source/corda-networks-index.rst b/docs/source/corda-networks-index.rst index abdcf7c0b5..9315a2de09 100644 --- a/docs/source/corda-networks-index.rst +++ b/docs/source/corda-networks-index.rst @@ -6,4 +6,5 @@ Corda networks setting-up-a-corda-network permissioning - versioning \ No newline at end of file + network-map + versioning diff --git a/docs/source/network-map.rst b/docs/source/network-map.rst index d8ee82a2cf..34356bad4f 100644 --- a/docs/source/network-map.rst +++ b/docs/source/network-map.rst @@ -1,6 +1,14 @@ Network Map =========== +The network map stores a collection of ``NodeInfo`` objects, each representing another node with which the node can interact. +There two sources from which a Corda node can retrieve ``NodeInfo`` objects: + +1. the REST protocol with the network map service, which also provides a publishing API, + +2. the ``additional-node-infos`` directory. + + Protocol Design --------------- The node info publishing protocol: @@ -35,4 +43,15 @@ Network Map service REST API: | GET | /api/network-map/parameters/{hash}| Retrieve ``NetworkParameters`` object with the same hash. | +----------------+-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+ -TODO: Access control of the network map will be added in the future. \ No newline at end of file +TODO: Access control of the network map will be added in the future. + + +The ``additional-node-infos`` directory +--------------------------------------- +Each Corda node reads, and continuously polls, the files contained in a directory named ``additional-node-infos`` inside the node base directory. + +Nodes expect to find a serialized ``SignedData`` object, the same object which is sent to network map server. + +Whenever a node starts it writes on disk a file containing its own ``NodeInfo``, this file is called ``nodeInfo-XXX`` where ``XXX`` is a long string. + +Hence if an operator wants node A to see node B they can pick B's ``NodeInfo`` file from B base directory and drop it into A's ``additional-node-infos`` directory.