- Fix examples `chat.py` and `echo.py`
- Use trio directly, instead of `trio-asyncio`
- Remove redundant code
- Change entry API `new_node` to `new_host_trio`
* ignore kad
* fix swarm, and minor
* fix init and swarm
* ignore pb
* enable mypy
* fix basic host
* fix tcp
* fix mplex
* add typing for pb
* skip format pyi
* [mypy] no need to ignore pb now
* add typing to chat
* Improved peer ID construction and usage
* peer id object is directly passed to the network
no need to cast from a string to an ID
* don't base64 encode the peer id when loading from public key
* use proper multiaddr address
- keep multiaddr object into peerstore instead of string
- update network code to use new multiaddr lib
- update tests and example
* don't instanciate peerstore object in constructor
This has side effect where the same peerstore
is used for different instance of Libp2p
* add connect method to basic_host
* use zaibon's fork of sbuss/py-multiaddr
* lint
* Implement protocol muxing
* Integrate protocol muxing into new stream and listen's conn handler
* Fix bugs in protocol muxing
* Remove blank line
* Add comments and fix linting issues
* Fix order of parameters to select_one_of to match interface
* Use array of protocol ids in new stream instead of protocol id
* Add basic protocol muxer tests
* Add todo
* Modify new stream to take in protocol ids
* Add check to all tests to ensure protocol id is saved to net stream properly
* Lint tests
* Fix lint issues
* Add todo
* Modify port numbers in tests
* Fix linting issues
* Add more documentation to functions
* Add docs describing classes and fix indent error