Skip to content

Contacts and links

Share one link instead of long IDs:

Terminal window
bnw contact link # bnw:contact/<ID>?via=<address>
bnw contact add <LINK> --name Bob # or a bare account or device ID
bnw contact list
bnw contact remove <ID>

Which ID to share.

  • Your account ID, when your device belongs to an account. It stays the same as devices come and go.
  • Otherwise your device ID.
  • The peer ID (12D3KooW…) is the same device key in the network’s format. It is used only to connect, never as proof of who someone is.

What a link carries.

  • The ID, which is the only thing trusted.
  • Up to two addresses the sharer could be reached at when it made the link: relayed first, then public, then local-network ones.
  • Adding a contact dials those hints once. The contact shows as not verified until its signed profile (or account history) arrives and validates.

Contacts are local. They are this node’s address book, never signed or replicated.

In the web client:

  • Share my contact link on the dashboard copies the link.
  • The Contacts card adds and removes contacts.
  • The new-message field offers contacts by name.
  • bnw:channel/<ID> and bnw:contact/… links in any message become Join channel and Add contact buttons. A link carries only an ID, so acting on one joins or adds by that ID and trusts nothing else.
  • The web client and the iPhone app render a small markdown subset in message bodies: bold, italics, inline code and code blocks, links, headings, lists, and quotes. Bodies never render as HTML. Only http(s) and mailto links are clickable; other links show as text. Approval drafts stay raw, so you see exactly what an agent would post.