This project is archived. Its data is read-only.
[GVA] Add request to get network peers with enough info to make a real p2p client
I have made a python helper to help client keep a list of consensus blockchain nodes. See : https://forum.duniter.org/t/fonction-daide-pour-avoir-un-vrai-client-python-p2p/7821 The BMA API needs two requests to get all info of nodes (`network/ws2p/heads`, `network/peers`). GVA should be able to provide one request only. Response should be a paginated list of nodes, a `Node` is an object with `Head` document and `Peer` document together. ```json Node { Head: { version: int, signature: str, api: str, pubkey: str, blockstamp: BlockUID { number: int, hash: str }, ws2pid: str, software: str, software_version: str, pow_prefix: str, free_member_room: int, free_mirror_room: int }, Peer: { version: int, currency: str, pubkey: str, block_uid: BlockUID { number: int, hash: str }, endpoints: [str, ...], signature: str } } ``` ---- To not bind the `Node` object to the ws2p protocol `Head` document, we can put `Head` relevant information directly in the `Node` properties: ```json Node { pubkey: str, blockstamp: BlockUID { number: int, hash: str }, software: str, software_version: str, Peer: { version: int, currency: str, pubkey: str, block_uid: BlockUID { number: int, hash: str }, endpoints: [str, ...], signature: str } } ``` With the drawback that we do not have the `Head` signature anymore.
issue