Skip to main content

What is a Namespace

A namespace is a map of the module's name to it's IP address that its served on. The purpose of this is for navigation over modules across the internet. Namespaces can be local to you, between you and a few buds, or global across the network.

Local Namespace​

A local namespace is a namespace that solely exissts on your computer. These consist of your modules that are running locally.

c.namespace('local')

Remote Namespace​

A remote namespace is any namespace that is not local. This refers to any modules that exist outside of your module.

c.namespace('remote')

Adding a Remote Namespace​

To add a remote namespace, you will need to know the address of a module from another local namepsace. Every module by default has access to the namespace. To add a remote namespace, you need to add a peer's address.

c.add_peer('123.456.789:8888')

# this merges the namespace on the remote peer to yours

Adding a Single Module​

To add a single module instead of an entire namespace, just add the following

# this will add a single module to the remote namespace, not the entire remote namespace that that module consists of
c.add_module('123.456.789:8888')

Security Considerations

You need to be careful for who you add or who can add you. To disable people from adding you, blacklist any functions that give away such information, as seen in step 2 (deploy module).

Global Namespace​

A global namespace combines both of your local and remote namespaces