-
Notifications
You must be signed in to change notification settings - Fork 300
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
Change how sep1 presents validator information #308
Conversation
This proposal streamlines the stellar.toml specification in the wake of SEP20, essentially implementing a suggestion @MonsieurNicolas made in the discussion of that SEP. Rather than expressing attributes of validators independently in the Account Information global fields, organizations would create a list of validators (really an array of tables) similar to the Currency Documentation section. Each validator an organization runs would get its own entry, and relevant info would be presented per validator. This change will make it easier to add new properties to validators (if we want to), and to write tools like automated configuration generation. This proposal also gets rid of fields that no longer match stellar core configurations (such as DESIRED_BASE_FEE and DESIRED_MAX_TX_PER_LEDGER), as well as quorum information that is more reliably discovered via SCP or via a quorum explorer like stellarbeat. There’s a tendency for that info to be out of date since organizations often update their configuration without amending their stellar.toml. Since this is a breaking change, this proposal also adds version information as a global field to help crawlers know what fields to expect in a stellar.toml. If adopted, this proposal would also require amending SEP20, which currently assumes nodes are declared in the Account Information global fields. Specifically, we’d remove the following: NODE_NAMES OUR_VALIDATORS ASSET_VALIDATOR DESIRED_BASE_FEE DESIRED_MAX_TX_PER_LEDGER KNOWN_PEERS HISTORY [QUORUM_SET] And add: VERSION [[VALIDATORS]] NODE_PUBLIC_KEY NODE_NAME HISTORY
For consistency, can we drop the [[VALIDATORS]]
PUBLIC_KEY="(G..."
NAME="string"
HISTORY="(optional)string" Also, I think we should make |
This is a great change! I think @stanford-scs felt |
So something like: [[VALIDATORS]]
ID="sdf.au"
DISPLAY_NAME="SDF Australia"
PUBLIC_KEY="GCGB2S2KGYARPVIA37HYZXVRM2YZUEXA6S33ZU5BUDC6THSB62LZSTYH"
HISTORY="http://history.stellar.org/prd/core-live/core_live_001/"
|
We also need to add |
I think it's valuable to add a public horizon url, if there is one. But not sure how to structure this. Some options:
Leaning towards 1, as the best scenario is that horizon has a load balancer that will direct you to a regional horizon/core instance. @MonsieurNicolas what do you think? |
@rice2000, I think we need to make it clear that the TOML file describes an entity, more than it describes a domain. (we don't want entities having multiple TOML files if, for example, their validators run on multiple domains) |
@tomerweller That makes sense to me re: clarifying entity, not domain. Tons of great suggestions here. |
@rice2000 yeah I mean replace
entities vs domains: I am not sure I understand the statement "validators run on different domains", in other SEPs, there is an assumption (that seems fine to me) that |
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.
All of this is really fantastic, and I definitely really appreciate all of the suggestions. I'm marking this as request changes for now as a reminder to wait for the next batch of updates, but after that I think this looks good.
- updated address definition - changed "URL string" to "url" to be consistent with previous tables
Okay: I updated to include the suggestions above. Specifically:
I think that's everything, but @theaeolianmachine @MonsieurNicolas @tomerweller: please take a look when you get a chance. |
Looks great to me — will wait up to 2 days (June 5th) to hear back from the other reviewers otherwise will merge this in. |
|
+1 on Suat's ADDRESS -> HOST suggestion. What's the purpose of the ID field? If it's a naming suggestion for TOML aliases would it be more straightforward to call it ALIAS? |
Agree, ALIAS sounds more meaningful.
|
@sui77 @marcinx I agree with changing ADDRESS to HOST |
@rice2000 |
Okay: I made the suggested changes. |
Regarding ALIAS, I suggest we use an explicit regex for things to look uniform. |
- changed alias to a regex - fixed sample stellar.toml to conform to spec
@tomerweller I used the amended regex for |
fixed the regex in `ALIAS` definition
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.
LGTM
I think the "updated date" in the header needs to be bumped up to reflect the latest changes. It still shows: |
…c-sdk into alex/blockchain/1.7-update * 'master' of github.com:thisisalexmcgregor/stellar-ios-mac-sdk: prepare for release prepare for stellar protocol 12 prepare release 1.6.8 consider fee when creating transactions from xdr add optional parameter "maxOperationFee" to Transaction constructor, to be able to set the max fee per operation prepare for release - Horizon 0.19 compatibility: add "join" argument to operations and payments endpoints - add "transactionSuccessful" member to OperationResponse and to PaymentResponse - add "includeFailed" argument to operations and payments endpoints Horizon 0.19 compatibility: add max_fee, fee_charged fields to transaction response, depricate field fee_paid update toml resolver to be compatible with v2.0.0: stellar/stellar-protocol#308 Add custom case for stellar network # Conflicts: # stellarsdk/stellarsdk/responses/xdr/TransactionXDR.swift # stellarsdk/stellarsdk/sdk/Transaction.swift
This proposal streamlines the stellar.toml specification in the wake of SEP20, essentially implementing a suggestion @MonsieurNicolas made in the discussion of that SEP.
Rather than expressing attributes of validators independently in the Account Information global fields, organizations would create a list of validators (really an array of tables) similar to the Currency Documentation section.
Each validator an organization runs would get its own entry, and relevant info would be presented per validator. This change will make it easier to add new properties to validators (if we want to), and to write tools like automated configuration generation.
This proposal also gets rid of fields that no longer match stellar core configurations (such as DESIRED_BASE_FEE and DESIRED_MAX_TX_PER_LEDGER), as well as quorum information that is more reliably discovered via SCP or via a quorum explorer like stellarbeat. There’s a tendency for that info to be out of date since organizations often update their configuration without amending their stellar.toml.
Since this is a breaking change, this proposal also adds version information as a global field to help crawlers know what fields to expect in a stellar.toml.
If adopted, this proposal would also require amending SEP20, which currently assumes nodes are declared in the Account Information global fields.
Specifically, we’d remove the following:
NODE_NAMES
OUR_VALIDATORS
ASSET_VALIDATOR
DESIRED_BASE_FEE
DESIRED_MAX_TX_PER_LEDGER
KNOWN_PEERS
HISTORY
[QUORUM_SET]
And add:
VERSION
[[VALIDATORS]]
NODE_PUBLIC_KEY
NODE_NAME
HISTORY
In addition this PR fixes #307.