Consolidate multiaddr transformations
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
- Issue type
- Feature
- Clarity
- Needs clarification
- Activity status
- Stale
- Tech stack
- go, javascript
- Domain
- networking
Research direction
Start by comparing the existing go-multiaddr-fmt, js-mafmt, libp2p/go-maddr-filter, libp2p/go-addr-util, go-multiaddr-net, go-multiaddr-dns, and js-multiaddr implementations named in the issue. Done means the first three transformations have a consolidated package and a minimal generalized API is defined in the multiaddr specification.
Written by the indexing model from the issue text.
Description
We already support a number of map/filter like operations on multiaddrs, which take as input a list of multiaddrs and sometimes certain conditions, and return as output a list of multiaddrs.
- fmt (a.k.a. mafmt)
- lets us define protocol schemata and filter addresses that match
- e.g. the schema
/ip6/udpmatches/ip6/::1/udp/4002 - implementations: go-multiaddr-fmt, js-mafmt
- filter
- lets us filter addresses based on membership of an IP CIDR block
- e.g.
/ip4/192.168.0.0/ipcidr/16matches/ip4/192.168.1.42 - implementations: libp2p/go-maddr-filter
- addr-util
- filters certain classes of IP addresses (link-local, transports that can't dial out, etc.)
- implementations: libp2p/go-addr-util, go-multiaddr-net
- dns
- resolves
/dnsaddr,/dns4, and/dns6addresses - implementations: go-multiaddr-dns, js-multiaddr
- resolves
The first three should probably be collapsed into a single package.
A minimal generalized API for these transformations should be part of the multiaddr spec.
- Dominant language
- Go
- Stars
- 482
- Forks
- 87
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from multiformats/multiaddr
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
multiformats/multiaddr#181 ·
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
multiformats/multiaddr#178 · 4 comments ·
-
Difficulty 5/5 Over a week Newbie friendliness 10/100
multiformats/multiaddr#168 ·
-
Multiaddr URI scheme Open
Difficulty 5/5 Over a week Newbie friendliness 25/100
multiformats/multiaddr#165 · 2 comments · 1 reaction ·
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
multiformats/multiaddr#156 · 1 reaction ·
All issues in multiformats/multiaddr
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
crossplane/crossplane#7859 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
bazel-contrib/rules_go#4721 · 2 comments ·
-
needs-triage
Difficulty 1/5 Under an hour Newbie friendliness 92/100
-
bug carvel-triage
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
carvel-dev/kapp-controller#1861 ·
-
area/logging kind/bug
Difficulty 2/5 1-3 hours Newbie friendliness 86/100