-
Notifications
You must be signed in to change notification settings - Fork 32
Add endpoints for retrieval of network (node) configuration #64
Comments
no problem adding this, @dgarcia360 feel free to suggest endpoint name/structure before we come up with our non-ideal one ^^ |
i forgot to mention this should be provided by the core node somehow |
The problem with this endpoint is that the node could lie, there is no way to verify that the configuration returned is the one being used. |
i don't think this is an issue here, i believe in this environment "lying" is a network worry, when you are specifically querying a node for its (individual) configuration, i suppose you are already assuming it may be lying, in fact, if you use this endpoint it probably means you trust this node for some reason already - but keep discussing |
I see 👍 , the same happens to other existing endpoints such as "/node/info". We can add a warning in the docs remarking that for a given set of endpoints, it is better to trust them only if using your node. @Vektrat Let's continue discussing if you can retrieve these properties directly from catapult-api, or if this should be provided to you somehow to unblock the issue. |
Endpoint suggestion: symbol/symbol-openapi#54 |
it has been decided that this will be implemented as follows:
|
With multiple catapult networks available, it may be useful to be able to retrieve network configuration from network nodes through catapult-rest endpoints.
The
config-network.properties
file contains several settings that are needed in client integrations.Important for Multi-Network Compatibility:
blockGenerationTargetTime = 15s
: Used for date displays and date estimations.namespaceGracePeriodDuration = 2m
: Used for notifications about namespace expirationcurrencyMosaicId = ..
: Used to identify thecurrency
mosaic on the networkharvestMosaicId = ..
: Used to identify theharvest
mosaic on the networkepochAdjustment = ..
: Used to adjust timestamp of nemesis blockImportant for Fee estimations:
minFeeMultiplier = 100
: Used for fee estimations. (node specific)rootNamespaceRentalFeePerBlock = 1'000'000
: Used for fee estimations.childNamespaceRentalFee = 100'000'000
: Used for fee estimations.mosaicRentalFee = 500'000'000
: Used for fee estimations.Important for User Experience:
maxRollbackBlocks = 40
: Useful for transaction persistence.maxTransactionsPerAggregate = 1'000
: Useful for form validation.maxCosignaturesPerAggregate = 15
: Useful for form validation.lockedFundsPerAggregate = 10'000'000
: Useful for feature compatibility.maxHashLockDuration = 2d
: Useful for notifications or general UX.maxSecretLockDuration = 30d
: Useful for notifications or general UX.minProofSize = 1
: Useful for form validation.maxProofSize = 1000
: Useful for form validation.maxMosaicDuration = 3650d
: Useful for form validation.maxMosaicDivisibility = 6
: Useful for form validation.minNamespaceDuration = 1m
: Useful for form validation.maxNamespaceDuration = 365d
: Useful for form validation.reservedRootNamespaceNames = xem, nem, user, account, org, com, biz, net, edu, mil, gov, info
: Useful for form validation.maxAccountRestrictionValues = 512
: Useful for notifications or general UX.maxMosaicRestrictionValues = 20
: Useful for notifications or general UX.maxMessageSize = 1024
: Useful for form validation.maxNameSize = 64
: Useful for form validation.maxChildNamespaces = 500
: Useful for notifications or general UX.maxNamespaceDepth = 3
: Useful for form validation.maxMultisigDepth = 3
: Useful for form validation.maxCosignersPerAccount = 10
: Useful for notifications of general UX.maxCosignedAccountsPerAccount = 5
: Useful for form validation.If some of those fields seem to be less important to retrieve (mostly "form validation"), they do allow much smoother multi-network capabilities for out client integrations (wallets / explorers / cli / sdk).
The text was updated successfully, but these errors were encountered: