anatoly yakovenko
702f7cc51d
Revert "add genesis stake placeholders ( #6969 )" ( #7109 )
...
* Revert "add genesis stake placeholders (#6969 )"
This reverts commit 8a879faac7
.
* fixup! Revert "add genesis stake placeholders (#6969 )"
* fixup! fixup! Revert "add genesis stake placeholders (#6969 )"
* fixup! fixup! fixup! Revert "add genesis stake placeholders (#6969 )"
* fixup! fixup! fixup! fixup! Revert "add genesis stake placeholders (#6969 )"
* fmt
2019-11-23 23:15:21 -07:00
Rob Walker
8a879faac7
add genesis stake placeholders ( #6969 )
...
* add investor stake placeholders
fixups
fixups
review comments, fixups
make more data-looky for easier management
rent may be zero
rework with more tables, derived keys
fixups
rebase-fix
fixups
fixups
* genesis is now too big to boot in 10 seconds
2019-11-21 12:05:31 -08:00
Ryo Onodera
8cbc450192
Create genesis.tar.bz2 in solana-genesis ( #7039 )
...
* Use clap_utils
* Create genesis.tar.bz2 in solana-genesis
* Remove shell-based genesis.tar.bz2 generation
* Make Option=>Result conv more rusty
* stop using solana_logger
* Simplify by just using vec!
* clean up abit
2019-11-21 10:57:27 -07:00
Jack May
3415db9739
Merge api/program into single units ( #7061 )
2019-11-20 16:32:19 -08:00
Jack May
d184d3a732
Merge native programs parts into one unit ( #7047 )
2019-11-20 10:12:43 -08:00
Michael Vines
f8e4bdd23d
--bootstrap-storage-pubkey is now optional ( #7049 )
...
automerge
2019-11-19 14:35:56 -08:00
sakridge
c1b06817a2
Add non-dev value for slots_per_epoch and use that as default ( #6984 )
...
When --dev flag is not passed.
2019-11-16 20:53:54 -08:00
Michael Vines
5ab70c4e97
genesis: rename mint account to faucet account and make it optional ( #6990 )
2019-11-15 14:50:26 -07:00
Dan Albert
946e937549
Create development vs softlaunch environment hooks into net scripts ( #6974 )
2019-11-15 15:18:45 -05:00
Michael Vines
892ca196f1
Improve error message when unable to read a file ( #6978 )
2019-11-15 10:39:05 -07:00
Michael Vines
e7f63cd336
Upgrade to rust 1.39.0 ( #6939 )
...
* Upgrade to rust 1.39.0
* 1.39.0 clippy
2019-11-14 12:27:01 -07:00
Ryo Onodera
4fc767b3f6
Move version! from core:: to clap_utils:: ( #6944 )
...
* Move version! from core to clap-utils
* Completely move version! from core:: to clap_utils::
* rustfmt
* Do remaining transition after rebase
2019-11-14 13:10:38 +09:00
Rob Walker
bb00904fc8
add rent reserve for bootstrap stakes ( #6876 )
...
* genesis investor stakes
* assert rent is sufficient for these bootstrappers
2019-11-12 12:33:40 -08:00
Justin Starry
9807f47d4e
Rename genesis block to genesis config ( #6816 )
2019-11-08 23:56:57 -05:00
Sagar Dhawan
80a89b5e6d
Revert "Revert "Add inflation to epoch phases ( #6787 )" ( #6802 )" ( #6806 )
...
automerge
2019-11-07 18:33:14 -08:00
Sagar Dhawan
d89271528e
Revert "Add inflation to epoch phases ( #6787 )" ( #6802 )
...
automerge
2019-11-07 16:43:09 -08:00
Jack May
a9c4cd6cbe
Add inflation to epoch phases ( #6787 )
2019-11-07 10:53:04 -08:00
Rob Walker
a1fe6265fd
use pubkeys in genesis ( #6750 )
2019-11-06 11:18:25 -08:00
Greg Fitzgerald
fb12136975
Add genesis_accounts module ( #6708 )
2019-11-04 13:46:33 -07:00
Rob Walker
fa12a5f70b
kill rent calculator ( #6625 )
2019-10-30 16:25:12 -07:00
Michael Vines
68acfd36d0
Bootstrap leader's stake is now authorized to the bootstrap leader's identity key ( #6571 )
2019-10-25 22:58:35 -07:00
Michael Vines
35cc74ef25
Add GenesisBlock::OperatingMode to control how cluster features are activated ( #6430 )
2019-10-23 11:50:10 -07:00
Michael Vines
621c67a8cb
Adjust default cluster signature fees ( #6436 )
2019-10-18 17:00:51 -07:00
Greg Fitzgerald
5468be2ef9
Add solana-ledger crate ( #6415 )
...
automerge
2019-10-18 09:28:51 -07:00
Greg Fitzgerald
ae41c88eb2
Boot the Builder pattern from GenesisBlock ( #6364 )
2019-10-15 13:52:44 -06:00
Trent Nelson
9cde67086f
solana-keygen - Poor mans keypair encryption ( #6259 )
...
* SDK: Refactor (read|write)_keypair
Split file opening and data writing operations
Drop filename == "-" stdio signal. It is an app-level feature
* keygen: Move all non-key printing to stderr
* keygen: Adapt to SDK refactor
* keygen: Factor keypair output out to a helper function
2019-10-10 17:01:03 -06:00
carllin
1960ea8ed7
Add benches for shredding and poh ( #6307 )
...
* Add benches for shredding and poh
* ignore poh bench
* Factor out Poh bench as separate function
2019-10-10 14:00:24 -07:00
Sagar Dhawan
de82e60c64
Fix unrealistic hash rate expectations in genesis ( #6295 )
2019-10-09 15:47:48 -07:00
Rob Walker
7cf90766a3
add epoch_schedule sysvar ( #6256 )
...
* add epoch_schedule sysvar
* book sheesh!
2019-10-08 22:34:26 -07:00
Rob Walker
a964570b1a
add authorities to stake init ( #6104 )
...
* add authorities to stake init
* fixups
* code review
2019-09-26 13:29:29 -07:00
Michael Vines
d7e4c8e3cf
Support primordial accounts with no data ( #6053 )
2019-09-24 10:42:33 -07:00
Parth
d63518a835
Rent tangential stuff ( #5910 )
...
* rename rent.rs to rent_calculator.rs
* add rent sysvar
* integrate rent_calculator with bank
* rent_calculator integration with genesis
* add test for rent sysvar
2019-09-17 17:12:55 +05:30
Parth
468095ede2
Update project to use new account serialization format ( #5848 )
2019-09-09 16:17:10 -07:00
Jack May
e8d88f3237
Split SDK's timing.rs ( #5823 )
2019-09-06 14:30:56 -07:00
Parth
6057768fdc
Support arbitrary account creation in genesis ( #5799 )
2019-09-06 23:45:23 +05:30
Rob Walker
0ffe7a9c8f
plumb some rent ( #5610 )
...
* plumb some rent
* nits
* fixups
* fixups
* fixups
2019-08-23 14:04:53 -07:00
Michael Vines
3450b9a44d
Rename solana to solana-core ( #5583 )
2019-08-21 10:23:33 -07:00
Rob Walker
94f1132fb6
fix single node testnet, remove bootstrap vote ( #5534 )
2019-08-15 18:58:46 -07:00
Rob Walker
88ea950652
add stake_api config account ( #5531 )
2019-08-15 14:35:48 -07:00
Jack May
d09afdbefe
Synchronize and cleanup instruction processor lists ( #5356 )
2019-07-31 14:28:14 -07:00
Michael Vines
c78db6a94b
ledger path reform: use Path/PathBuf instead of strings ( #5344 )
2019-07-30 15:53:41 -07:00
Sagar Dhawan
8120b57f17
Setup reward pools in genesis ( #4831 )
...
automerge
2019-06-26 13:51:17 -07:00
Rob Walker
8a64e1ddc3
add fee burning ( #4818 )
2019-06-26 10:13:21 -07:00
Sagar Dhawan
11992946a4
Add storage reward pools ( #4779 )
2019-06-22 17:18:35 -07:00
Sagar Dhawan
22b767308a
Add insturctions to run a replicator on testnet ( #4733 )
2019-06-21 16:32:23 -07:00
Rob Walker
2e2b1881f5
move genesis_block to builder pattern ( #4736 )
2019-06-19 15:40:39 -07:00
Sagar Dhawan
119467df59
Add storage mining pool to genesis and implement automatic reward redeeming ( #4683 )
...
* Add storage mining pool to genesis and implement automatic reward collection
* Address review comments
2019-06-13 22:30:51 -07:00
Michael Vines
8e86014311
Update stakers_slot_offset if slots_per_epoch is adjusted ( #4660 )
2019-06-12 14:12:17 -07:00
Jack May
0dcdc37fec
Split BPF loader to match the rest of the programs ( #4636 )
2019-06-12 08:49:59 -07:00
Pankaj Garg
288a3bdcd9
Provision bench client accounts in genesis block ( #4648 )
...
* fixes to script
* shellcheck
* address review comments
2019-06-11 18:47:35 -07:00
Rob Walker
3217a1d70c
use highest staked node as bootstrap leader, remove bootstrap_leader from genesis_block ( #4635 )
...
* use highest staked node as bootstrap leader, remove bootstrap_leader from genesis_block
* clippy
* fixup
* fixup
2019-06-11 11:44:58 -07:00
Rob Walker
e56430c9fb
make runtime depend on bpf_loader ( #4601 )
...
* make runtime depend on bpf_loader
* remove vote redundancy, move bpf_loader to genesis, export program\! from bpf_loader crate
* move bpf_loader specification into genesis
* bpf tests to use genesis with bpf
* need to avoid depending on programs, except for macros
2019-06-11 10:27:22 -07:00
Michael Vines
e4d8ea11ac
Make lamports_per_signature dynamic based on cluster load ( #4562 )
...
* Make lamports_per_signature dynamic based on cluster load
* Move transaction-fees.md to implemented
2019-06-10 22:18:32 -07:00
Pankaj Garg
9259d342ac
Facility to provision primordial accounts for fullnodes in genesis block ( #4631 )
...
* updated usage
* shellcheck
* support replicators
* disable airdrops if primordial accounts are used
* review comments
2019-06-10 19:42:49 -07:00
Rob Walker
a18c0e34f4
add activate_stake to stake_api ( #4600 )
2019-06-10 12:17:29 -07:00
Rob Walker
fd9fd43e83
add solana_name_id, reassociate names with modules, modularize id tests ( #4580 )
2019-06-06 19:27:49 -07:00
Pankaj Garg
191483f4ee
Facility to add accounts with specific balance to genesis block ( #4585 )
...
* Facility to add accounts with specific balance to genesis block
* address review comments
2019-06-06 19:24:09 -07:00
Sagar Dhawan
de5cad9211
Add account owner to Storage Accounts ( #4537 )
...
* Add account owner to Storage Accounts
* Fix tests
2019-06-04 14:52:52 -07:00
Michael Vines
9754e551cb
Fund vote accounts with 1 lamport only ( #4512 )
2019-06-03 14:48:01 -07:00
Michael Vines
ec5cca41bc
Separate bootstrap leader's stake lamports from its identity lamports ( #4510 )
...
* Revert "Prevent run.sh from running beyond the first epoch under normal use (#4498 )"
This reverts commit d343c409e6
.
* Separate bootstrap leader's stake lamports from its identity lamports
2019-05-31 19:58:52 -07:00
Michael Vines
d343c409e6
Prevent run.sh from running beyond the first epoch under normal use ( #4498 )
...
The local cluster that run.sh starts will typically only have a single
node, the bootstrap leader. With epoch warmup enabled, run.sh will fail
after ~90 seconds once the warmup period has been exceeded due to lack
of votes from other validators.
As a workaround, disable epoch warmup and set slots-per-epoch to 1
million to keep run.sh alive for more than a fortnight.
2019-05-31 15:42:32 -07:00
Michael Vines
39b40dfff8
Remove runtime dependency on storage ( #4480 )
2019-05-30 10:54:28 -07:00
Michael Vines
b37d2fde3d
Add storage mining pool ( #4364 )
...
* Add storage mining pool
* Set gossip port
* Add create-storage-mining-pool-account wallet command
* Add claim-storage-reward wallet command
* Create storage account upfront
* Add storage program to genesis
* Use STORAGE_ACCOUNT_SPACE
* Fix tests
* Add wallet commands to create validator/replicator storage accounts
* Add create_validator_storage_account()
* Storage stage no longer implicitly creates a storage account
2019-05-23 14:50:23 -07:00
Sagar Dhawan
c9ba9e4eb7
Add storage space constant ( #4366 )
...
automerge
2019-05-21 11:07:13 -07:00
Sagar Dhawan
d15e248cdb
Add bootstrap storage account to genesis ( #4359 )
...
* Add bootstrap storage account to genesis
* Add storage account genesis command to run.sh
* Update airdrop for all validators
* Remove unhelpful Short for arg
* Set the correct program owner
2019-05-20 19:46:15 -07:00
Michael Vines
392a39dd54
Poh subsystem cleanup, genesis plumbing, enable real PoH on edge testnet ( #4292 )
...
* Remove unused PohServiceConfig::Step
* Clarify variable name
* Poh::hash() now takes an iteration counter
* man -> max
* Inline functions with single call site
* Move PohServiceConfig into GenesisBlock
* Add plumbing to enable real PoH on testnets
* Batch hashes to improve PoH hash rate
* Ensure a constant hashes_per_tick
* Remove PohEntry mixin field
* Poh/PohEntry no longer maintains tick_height
* Ensure a constant hashes_per_tick
* ci/localnet-sanity.sh: Use real PoH
* Rework Poh/PohService to keep PohRecorder unlocked as much as possible while hashing
2019-05-18 14:01:36 -07:00
Rob Walker
e8ad822111
get program names from programs ( #4273 )
...
* get program names from programs
* fixup
2019-05-14 10:44:16 -07:00
Rob Walker
0d2574f8f0
get DLL names from programs that made the DLL ( #4269 )
...
* get program names from programs
* fixup
2019-05-13 14:17:44 -07:00
Rob Walker
965c1e0000
staking plumbing part 3, 3.5 ( #4216 )
2019-05-08 12:56:11 -07:00
Rob Walker
b49f8c0984
reduce replicode, introduce passive staking support ( #4207 )
2019-05-07 22:22:43 -07:00
Michael Vines
7609a007c6
Add FeeCalculator to the genesis block ( #4196 )
2019-05-07 20:28:41 -07:00
Rob Walker
8e400fc4bd
rework genesis (passive staking groundwork) ( #4187 )
...
* rework genesis
* fixup
2019-05-07 11:16:22 -07:00
Michael Vines
e71ab55288
Rename in-tree program_ids to be base-58 human readable ( #4001 )
2019-04-25 17:58:49 -07:00
Michael Vines
63d66ece57
net/ testnet nodes now stake more lamports ( #3812 )
...
* Add --bootstrap-leader-lamports
* Generalize --no-stake into --stake NUM
* Use a large stake for net/ fullnodes
* Setup vote account before starting fullnode to avoid mixed log output
2019-04-16 13:03:01 -07:00
Rob Walker
f1e7237c09
vote_api cleanup ( #3710 )
...
* vote_api cleanup
* fixups
* fixup
* remove unused code
* revert removal of serialize and deserialize
* ...
* increase coverage, bootstrap staking
* Sagar's STAKE to my VOTE
2019-04-10 17:52:47 -07:00
Sagar Dhawan
d2ea782372
Always use bootstrap vote account for leader
2019-04-10 15:51:00 -07:00
Greg Fitzgerald
fa1c1e3734
Rename native programs to native instruction processors
2019-04-02 10:36:19 -06:00
Jack May
6505221629
Add exchange program ( #3444 )
2019-03-22 21:07:36 -07:00
Michael Vines
5f58e9cd6e
Config program - useful for storing/updating simple config items on chain
2019-03-15 16:39:45 -07:00
Michael Vines
bb420cb995
Use crate_description and crate_name Clap macros
2019-03-14 00:35:34 -05:00
Michael Vines
1ee43a7633
Remove non-essential programs from runtime/
2019-03-12 15:11:59 -05:00
Sagar Dhawan
78bb96ee51
Reduce bootstrap leader stake ( #3218 )
2019-03-11 13:29:44 -07:00
Rob Walker
195a880576
pass Pubkeys as refs, copy only where values needed ( #3213 )
...
* pass Pubkeys as refs, copy only where values needed
* Pubkey is pervasive
* fixup
2019-03-09 19:28:43 -08:00
Michael Vines
beb45f44ac
solana-genesis: rename tokens to lamports
2019-03-05 17:28:06 -08:00
Michael Vines
53f09c44f3
Rename tokens to lamports in sdk/
2019-03-05 17:28:06 -08:00
Greg Fitzgerald
f0f55af35b
Add scheduler config to genesis
...
Anything that affects how the ledger is interpreted needs to be
in the genesis block or someplace on the ledger before later
parts of the ledger are interpreted. We currently don't have an
on-chain program for cluster parameters, so that leaves only
the genesis block option.
2019-02-21 17:29:55 -08:00
Greg Fitzgerald
dde886f058
Move Bank to its own crate
...
Also:
* counters.rs to solana_metrics
* genesis_block.rs to solana_sdk
2019-02-19 07:17:04 -07:00
Michael Vines
6632c7026d
Pass a BlocktreeConfig into all ledger helper functions
2019-02-12 15:52:27 -08:00
carllin
6e7c5f205b
Rename db_ledger to blocktree ( #2698 )
2019-02-07 20:52:39 -08:00
Michael Vines
c5a74ada05
leader_scheduler: remove bootstrap_height
2019-02-06 14:23:10 -08:00
Michael Vines
65708f234d
Remove unused import
2019-01-31 21:12:36 -08:00
Michael Vines
c01290438f
Move virtual genesis tick into the ledger proper as entry 0
2019-01-30 14:02:07 -08:00
Michael Vines
4bb6549895
Genesis block is now a json file
2019-01-25 09:05:15 -08:00
Michael Vines
4b5acc065a
Give the bootstrap leader one million tokens as a #2355 workaround
2019-01-09 13:30:20 -08:00
Michael Vines
1f6346d880
De-dup ledgers - db_ledger is now the only ledger written to disk
2019-01-04 16:37:00 -08:00
Michael Vines
fd562cb9e2
Rust 2018 cleanup
2018-12-14 21:57:15 -08:00
Michael Vines
0fe6d61036
Move binaries from src/bin into their own crate
2018-12-13 22:25:27 -08:00