Code Monkey home page Code Monkey logo

peers's Introduction

peers

listing public peers

Adding your public node's credentials

If you've created a public node, and would like to have it listed here, fork the repo, add a keyfile, and submit a PR.

Nodeinfo.json

This repository is meant to extend the nodeinfo.json standard. nodeinfo.json is a valid JSON file hosted on a webserver's root which displays information about that node:

  • services it hosts
  • who operates the node
  • where the node is located

There are a number of individuals who have taken to analyzing data exposed by their nodes' cjdns admin interfaces, and by crawling webservers for html and structured JSON. Centralized listings make it easier for anyone to view information which node operators have volunteered, though, it should be trivial for you to verify this information by virtue of it being self-hosted.

Naming conventions

Node operators who have voluntarily included information about their nodes' location are making it easier to create a programmatic method of finding peers who are in your vicinity. The specification includes seven fields which make this possible:

  1. continent
  2. region
  3. municipality
  4. latitude
  5. longitude
  6. altitude
  7. uri

Numbers 4-6 provide exact coordinates of a node. The structure of this repository will adhere to the hierarchy imposed by the first three. As such, if you'd like to list your node here, you will need to determine your continent code, your region, and your municipality.

Your continent should be relatively unambiguous, however, your region likely isn't. For our purposes, it only matters in that other members of your region should agree. Like hashtags, they are most effective when consistent and descriptive. Start by finding someone else in your area, and follow their lead.

Assuming peers/ is the repository root, your peering credentials should be located in peers/{continent}/{region}/{municipality}/.

By following this scheme, we make it possible for users to programmatically find peers in their vicinity, which should make adoption of cjdns easier.

JSON formatting

  • Your credentials must be valid JSON when inserted into a block of curly braces {}
  • They should be small enough so as to be inserted into a cjdroute.conf as is without triggering the connectTo-overflow bug.
  • They must contain the necessary fields:
    • ip/port
    • password
    • publicKey
  • They should also contain a means of contacting the operator.
  • credentials should end with a newline character.
"192.168.1.5:10326": {
    "login": "default-login",
    "password":"nq1uhmf06k8c5594jqmpgy26813b81s",
    "publicKey":"ssxlh80x0bqjfrnbkm1801xsxyd8zd45jkwn1zhlnccqj4hdqun0.k",
    "peerName":"your-name-goes-here"
}

Note: the snippet above is not valid json. It would need to be wrapped in an additional block of curly braces { }

Naming your entry

You can name your file whatever you want, but for simplicity's sake, avoid characters which will need to be escaped at the command line.

peers's People

Contributors

thefinn93 avatar ansuz avatar weuxel avatar oniichanj avatar kyrias avatar cschmittiey avatar dansup avatar magik6k avatar

Stargazers

M3k4X1D4 avatar

Watchers

Lorenzo Setale avatar James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.