Skip to content

Commit

Permalink
casper 1.4.1
Browse files Browse the repository at this point in the history
  • Loading branch information
sacherjj committed Feb 16, 2022
1 parent efa8df3 commit 8a041c5
Show file tree
Hide file tree
Showing 6 changed files with 108 additions and 31 deletions.
2 changes: 1 addition & 1 deletion casper-node_release
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.3.4-0d28d49
1.4.1-c1f1c4df4-casper-mainnet
51 changes: 51 additions & 0 deletions config/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,57 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
[comment]: <> (Security: in case of vulnerabilities)


## 1.4.1 - 2600
### casper-node 1.4.1-c1f1c4df4-casper-mainnet

## Added
* global_state.toml
* chainspec.toml
* core
* max_associated_keys
* config-example.toml
* consensus
* highway
* log_synchronizer_interval
* max_request_batch_size
* network
* estimator_weights
* contract_runtime
* enable_manual_sync

## Changed
* chainspec.toml
* protocol
* version
* activation_point
* core
* round_seigniorage_rate
* highway
* minimum_round_exponent
* maximum_round_exponent
* deploys
* block_max_deploy_count
* block_max_transfer_count
* wasm
* host_function_costs
* create_purse
* system_costs
* wasmless_transfer_cost
* mint_costs
* mint
* create
* config-example.toml
* consensus
* highway
* pending_vertex_timeout from 15min to 30min
* standstill_timeout from 15min to 30min

## Removed
* config-example.toml
* consensus
* highway
* shutdown_on_standstill

## 1.3.4 - 2193
### casper-node 1.3.4-0d28d49

Expand Down
32 changes: 17 additions & 15 deletions config/chainspec.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[protocol]
# Protocol version.
version = '1.3.4'
version = '1.4.1'
# Whether we need to clear latest blocks back to the switch block just before the activation point or not.
hard_reset = true
# This protocol version becomes active at this point.
Expand All @@ -11,7 +11,7 @@ hard_reset = true
# in contract-runtime for computing genesis post-state hash.
#
# If it is an integer, it represents an era ID, meaning the protocol version becomes active at the start of this era.
activation_point = 2193
activation_point = 2600
# Optional era ID in which the last emergency restart happened.
#last_emergency_restart = 0

Expand All @@ -26,7 +26,7 @@ maximum_net_message_size = 23_068_672

[core]
# Era duration.
era_duration = '120minutes'
era_duration = '120min'
# Minimum number of blocks per era. An era will take longer than `era_duration` if that is necessary to reach the
# minimum height.
minimum_era_height = 20
Expand All @@ -42,14 +42,16 @@ unbonding_delay = 7
# Round seigniorage rate represented as a fraction of the total supply.
#
# Annual issuance: 8%
# Minimum round exponent: 16
# Minimum round exponent: 15
# Ticks per year: 31536000000
#
# (1+0.08)^((2^16)/31536000000)-1 is expressed as a fractional number below
# (1+0.08)^((2^15)/31536000000)-1 is expressed as a fractional number below
# Python:
# from fractions import Fraction
# Fraction((1 + 0.08)**((2**16)/31536000000) - 1).limit_denominator(1000000000)
round_seigniorage_rate = [147, 919121747]
# Fraction((1 + 0.08)**((2**15)/31536000000) - 1).limit_denominator(1000000000)
round_seigniorage_rate = [7, 87535408]
# Maximum number of associated keys for a single account.
max_associated_keys = 100

[highway]
# A number between 0 and 1 representing the fault tolerance threshold as a fraction, used by the internal finalizer.
Expand All @@ -59,11 +61,11 @@ round_seigniorage_rate = [147, 919121747]
finality_threshold_fraction = [1, 3]
# Integer between 0 and 255. The power of two that is the number of milliseconds in the minimum round length, and
# therefore the minimum delay between a block and its child. E.g. 14 means 2^14 milliseconds, i.e. about 16 seconds.
minimum_round_exponent = 16
minimum_round_exponent = 15
# Integer between 0 and 255. Must be greater than `minimum_round_exponent`. The power of two that is the number of
# milliseconds in the maximum round length, and therefore the maximum delay between a block and its child. E.g. 19
# means 2^19 milliseconds, i.e. about 8.7 minutes.
maximum_round_exponent = 18
maximum_round_exponent = 17
# The factor by which rewards for a round are multiplied if the greatest summit has ≤50% quorum, i.e. no finality.
# Expressed as a fraction (1/5 by default).
reduced_reward_multiplier = [1, 5]
Expand All @@ -80,9 +82,9 @@ max_block_size = 10_485_760
# Maximum deploy size in bytes. Size is of the deploy when serialized via ToBytes.
max_deploy_size = 1_048_576
# The maximum number of non-transfer deploys permitted in a single block.
block_max_deploy_count = 100
block_max_deploy_count = 50
# The maximum number of wasm-less transfer deploys permitted in a single block.
block_max_transfer_count = 2500
block_max_transfer_count = 1250
# The upper limit of total gas of all deploys in a block.
block_gas_limit = 10_000_000_000_000
# The limit of length of serialized payment code arguments.
Expand Down Expand Up @@ -148,7 +150,7 @@ call_contract = { cost = 4_500, arguments = [0, 0, 0, 0, 0, 420, 0] }
call_versioned_contract = { cost = 200, arguments = [0, 0, 0, 0, 0, 0, 0, 0, 0] }
create_contract_package_at_hash = { cost = 200, arguments = [0, 0] }
create_contract_user_group = { cost = 200, arguments = [0, 0, 0, 0, 0, 0, 0, 0] }
create_purse = { cost = 170_000, arguments = [0, 0] }
create_purse = { cost = 2_500_000_000, arguments = [0, 0] }
disable_contract_version = { cost = 200, arguments = [0, 0, 0, 0] }
get_balance = { cost = 3_800, arguments = [0, 0, 0] }
get_blocktime = { cost = 330, arguments = [0] }
Expand Down Expand Up @@ -184,7 +186,7 @@ write = { cost = 14_000, arguments = [0, 0, 0, 980] }
write_local = { cost = 9_500, arguments = [0, 1_800, 0, 520] }

[system_costs]
wasmless_transfer_cost = 10_000
wasmless_transfer_cost = 100_000_000

[system_costs.auction_costs]
get_era_validators = 10_000
Expand All @@ -202,9 +204,9 @@ read_era_id = 10_000
activate_bid = 10_000

[system_costs.mint_costs]
mint = 10_000
mint = 2_500_000_000
reduce_total_supply = 10_000
create = 10_000
create = 2_500_000_000
balance = 10_000
transfer = 10_000
read_base_round_reward = 10_000
Expand Down
49 changes: 34 additions & 15 deletions config/config-example.toml
Original file line number Diff line number Diff line change
Expand Up @@ -46,12 +46,15 @@ pending_vertex_timeout = '30min'
# If the current era's protocol state has not progressed for this long, shut down.
standstill_timeout = '30min'

# If after another `standstill_timeout` there still was no progress, shut down.
shutdown_on_standstill = true
# Request the latest protocol state from a random peer periodically, with this interval.
request_state_interval = '20sec'

# Log inactive or faulty validators periodically, with this interval.
log_participation_interval = '1min'

# Log the synchronizer state periodically, with this interval.
log_synchronizer_interval = '5sec'

# Log the size of every incoming and outgoing serialized unit.
log_unit_sizes = false

Expand All @@ -62,6 +65,11 @@ max_execution_delay = 3
# The maximum number of peers we request the same vertex from in parallel.
max_requests_for_vertex = 5

# The maximum number of dependencies we request per validator in a batch.
# Limits requests per validator in panorama - in order to get a total number of
# requests, multiply by # of validators.
max_request_batch_size = 20

[consensus.highway.round_success_meter]
# The number of most recent rounds we will be keeping track of.
num_rounds_to_consider = 40
Expand Down Expand Up @@ -110,12 +118,12 @@ bind_address = '0.0.0.0:35000'
# one connection.
known_addresses = ['168.119.137.143:35000','47.251.14.254:35000','47.242.53.164:35000','46.101.61.107:35000','47.88.87.63:35000','35.152.42.229:35000','206.189.47.102:35000','134.209.243.124:35000','148.251.190.103:35000','167.172.32.44:35000','165.22.252.48:35000','18.219.70.138:35000','3.225.191.9:35000','3.221.194.62:35000','101.36.120.117:35000','54.151.24.120:35000','148.251.135.60:35000','18.188.103.230:35000','54.215.53.35:35000','88.99.95.7:35000','99.81.225.72:35000','52.207.122.179:35000','3.135.134.105:35000','62.171.135.101:35000','139.162.132.144:35000','63.33.251.206:35000','135.181.165.110:35000','135.181.134.57:35000','94.130.107.198:35000','54.180.220.20:35000','188.40.83.254:35000','157.90.131.121:35000','134.209.110.11:35000','168.119.69.6:35000','45.76.251.225:35000','168.119.209.31:35000','31.7.207.16:35000','209.145.60.74:35000','54.252.66.23:35000','134.209.16.172:35000','178.238.235.196:35000','18.217.20.213:35000','3.14.161.135:35000','3.12.207.193:35000','3.12.207.193:35000']

# The interval (in milliseconds) between each fresh round of gossiping the node's public address.
gossip_interval = 120_000
# The interval between each fresh round of gossiping the node's public address.
gossip_interval = '120sec'

# Initial delay for starting address gossipping after the network starts. This should be slightly
# more than the expected time required for initial connections to complete.
initial_gossip_delay = '5s'
initial_gossip_delay = '5sec'

# How long a connection is allowed to be stuck as pending before it is abandoned.
max_addr_pending_time = '1min'
Expand All @@ -124,10 +132,16 @@ max_addr_pending_time = '1min'
# A value of `0` means unlimited.
max_outgoing_byte_rate_non_validators = 6553600

# The maximum amount of requests from validating peers per second answered.
# The maximum allowed impact of requests from non-validating peers per second answered.
# A value of `0` means unlimited.
max_incoming_message_rate_non_validators = 3000

# Weights for impact estimation of incoming messages, used in combination with
# `max_incoming_message_rate_non_validators`.
#
# Any weight set to 0 means that the category of traffic is exempt from throttling.
estimator_weights = { consensus=0, deploy_requests=1 }


# ==================================================
# Configuration options for the JSON-RPC HTTP server
Expand Down Expand Up @@ -253,31 +267,31 @@ infection_target = 3
# excluding us since 80% saturation would imply 3 new infections in 15 peers.
saturation_limit_percent = 80

# The maximum duration in seconds for which to keep finished entries.
# The maximum duration for which to keep finished entries.
#
# The longer they are retained, the lower the likelihood of re-gossiping a piece of data. However,
# the longer they are retained, the larger the list of finished entries can grow.
finished_entry_duration_secs = 60
finished_entry_duration = '60sec'

# The timeout duration in seconds for a single gossip request, i.e. for a single gossip message
# The timeout duration for a single gossip request, i.e. for a single gossip message
# sent from this node, it will be considered timed out if the expected response from that peer is
# not received within this specified duration.
gossip_request_timeout_secs = 30
gossip_request_timeout = '30sec'

# The timeout duration in seconds for retrieving the remaining part(s) of newly-discovered data
# The timeout duration for retrieving the remaining part(s) of newly-discovered data
# from a peer which gossiped information about that data to this node.
get_remainder_timeout_secs = 5
get_remainder_timeout = '5sec'


# =================================
# Configuration options for fetcher
# =================================
[fetcher]

# The timeout duration in seconds for a single fetcher request, i.e. for a single fetcher message
# The timeout duration for a single fetcher request, i.e. for a single fetcher message
# sent from this node to another node, it will be considered timed out if the expected response from that peer is
# not received within this specified duration.
get_from_peer_timeout = 3
get_from_peer_timeout = '3sec'


# ===================================================
Expand Down Expand Up @@ -309,6 +323,11 @@ verify_accounts = true
# If unset, defaults to 5.
#max_query_depth = 5

# Enable manual synchronizing to disk.
#
# If unset, defaults to false.
enable_manual_sync = true


# ========================================================
# Configuration options for synchronizing the linear chain
Expand All @@ -327,4 +346,4 @@ sync_timeout = '1hr'
# Deploys are only proposed in a new block if they have been received at least this long ago.
# A longer delay makes it more likely that many proposed deploys are already known by the
# other nodes, and don't have to be requested from the proposer afterwards.
#deploy_delay = '1min'
deploy_delay = '15sec'
4 changes: 4 additions & 0 deletions config/global_state.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[[entries]]
key = "system-contract-registry-0000000000000000000000000000000000000000000000000000000000000000"
value = "AL0AAAAEAAAABwAAAGF1Y3Rpb27MtXbWzm3shKVR5I8NC3r4ndukTHOQtpADYlegSjrp6g4AAABoYW5kbGUgcGF5bWVudNJGmv65kTDwvnyc4jCoQUnm11bjBu+M9biknVGC5BZ2BAAAAG1pbnR8wbHbTgi7/nus+OGtgopdm8zLsz5V0yKAjDqI2lMhOhAAAABzdGFuZGFyZCBwYXltZW50a5zyYSPK2GHdW8e3WWHgXwfB907EpEGbSuP+s0baqg8RCg8gAAAA"

1 change: 1 addition & 0 deletions protocol_versions
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,4 @@
1_2_1
1_3_2
1_3_4
1_4_1

0 comments on commit 8a041c5

Please sign in to comment.