-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[ADR] 0001 - Adopt Multiaddr #32
base: main
Are you sure you want to change the base?
Conversation
8e332c4
to
7e6934a
Compare
6920d40
to
858f973
Compare
858f973
to
bab2554
Compare
bab2554
to
baaf824
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
multiaddr
is the right choice here I think. It's a well-defined and supported format and it doesn't make sense for us to spend time reinventing the wheel.
ADRs/0001-adopt-multiaddr.md
Outdated
@@ -0,0 +1,60 @@ | |||
# ADR-0001: Adopt Multiaddr |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💯
* Good, because it doesn't require an additional dependency | ||
* Bad, because it may lead to a non-standard and less extensible solution | ||
* Bad, because it requires development and maintenance efforts | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I noticed that the ADR is very light, which comes with both pros & cons.
Was it an explicit decision to not, for example, provide examples of what a multiaddr or a custom URL looks like?
I can steelman both sides of the argument here but wanted to know if it was the intention or just a lack of time?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree, I think it was more of a matter of structure.
Looking at it now, I'm not sure where it would make the most sense to put something like that. I feel like that would be something that I would expect to be covered by references. However, there isn't a great way to consistently be much more specific with a reference other than a link to a page (and maybe a named anchor on the page). I wonder if grouping them all together is the must useful approach.
We could consider including an "examples" or "practical application" section in "decision outcome" > "positive(/negative) consequences" and/or each option section. Pos./neg. consequences would provide a place to show (or reference) code and/or diagram(s) like this. Wdyt?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's add a section like so with the comments I have in place. I think we should keep it light weight but have a reminder to do this if we choose to.
I think if you copy-paste one of your tests in p2p, or link to them, it would be more than sufficient in this ADR.
### Supporting Examples/References <!-- optional -->
<!--
This is an optional section for you to link to or embed supporting examples.
These could come in the form of positive/negative consequences or just
examples for others to reference.
-->
@bryanchriswhite Bump. Wanted to tend to the comments above but otherwise approve the ADR. |
13a0a27
to
8758154
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I added a few minor comments, but approving because agreed on the path forward.
Co-authored-by: Daniel Olshansky <[email protected]>
@bryanchriswhite You think this one is good to merge in? |
Summary
This pull request adds an Architecture Decision Record (ADR) for adopting the multiaddr addressing format to simplify and consolidate node identity in our system. The ADR explains the context, problem statement, decision drivers, considered options, and the decision outcome, along with the positive and negative consequences of the chosen option.
The chosen option is to adopt the multiaddr format as it provides a standardized, extensible, and future-proof solution for addressing nodes in our network.
Please review the ADR and provide feedback on: