Documentation
¶
Index ¶
Constants ¶
Variables ¶
var ( DevnetValidators = []GenesisValidator{ { ID: 1, Addr: "0xC34ad0296f606749Ff8F77b75A7d577eB2CDF846", Pubkey: "0xc004bf689e0aa508fc18c9820348cea64cc8b3b3dff85af513fef6309a514c21b33d96e6113904e21c49e012cb73c46d1e5b8ab7cad64131b27a8578d9f87a298f49", Stake: utils2.ToArt(5_000_000), Balance: utils2.ToArt(60_000_000), }, { ID: 2, Addr: "0xE3E641Dad7ac5477482Ab338FD535EAA1071201F", Pubkey: "0xc0046218198298ade0acaecde7816c1513c40c359673b516449f4e383d87fa53b54c245a75ed98629f2a35eae140306d7d81b6ba33feec81f0b98ddb0b529c48db32", Stake: utils2.ToArt(5_000_000), Balance: utils2.ToArt(60_000_000), }, { ID: 3, Addr: "0x131BA6dA27B622De8771b63D40915F2530fCa0BD", Pubkey: "0xc004c0cc8ddc257ed1aadd6aec58c40592c00ce653c1e96c5856f3cbb57371b01a7e8c0f2b76255271004673930ebcbc798c360f8df39c08e831bc815ee9f13dc6a6", Stake: utils2.ToArt(5_000_000), Balance: utils2.ToArt(60_000_000), }, } DevnetAccounts = []GenesisAccount{ { Addr: "0x0c08A529D58152A01d20b46B28DEEB7a4075104A", Balance: utils2.ToArt(60_000_000), }, { Addr: "0x9C9994Bc1F7086633fCeA94f94c88251B75CA384", Balance: utils2.ToArt(60_000_000), }, { Addr: "0x821b76971bD47770d790F2707823ba29c19bb225", Balance: utils2.ToArt(60_000_000), }, } TestnetValidators = []GenesisValidator{ { ID: 1, Addr: "0x7a97E50436a074ADDB9A51D50Fbd35ADAFE88442", Pubkey: "0xc0041d7405a8bc7dabf1e397e6689ff09482466aea9d3a716bf1dd4fd971c22d035d8d939c88764136a3213106282887f9005b5addf23af781302a0119400706996e", Stake: utils2.ToArt(20_000_000), Balance: utils2.ToArt(100_000), }, { ID: 2, Addr: "0xfE8301b91A8Eb4734ed954f8E2FB84c2F72Cef8a", Pubkey: "0xc004a61ec5eb3cf8d6b399ff56682b95277337b601fb31e1a254dd451101b8aafb0218d428fc814faee132aabcc17b3dd39fa35dfce2d5ce29d6bd05615bbd571016", Stake: utils2.ToArt(20_000_000), Balance: utils2.ToArt(100_000), }, { ID: 3, Addr: "0xF51e935061731a129765ff63b3Af0Adb5e4486aC", Pubkey: "0xc004c39c38dc49cc4c9b64ea9d817545e713635f808d692f2f500ad801e002c50987e15cf4d9419731adf4cd83edf2207a806685cb2b75c3027d2dcdd78ec126f430", Stake: utils2.ToArt(20_000_000), Balance: utils2.ToArt(100_000), }, } TestnetAccounts = []GenesisAccount{ { Addr: "0x40bd65cfc4D95844704F4b2a2c46a60f6d6CE766", Balance: utils2.ToArt(60_000_000), }, { Addr: "0x35E58946b74fDbD9032aed876FC58629A6e65E79", Balance: utils2.ToArt(60_000_000), }, { Addr: "0x846032c611697818a31cC090D436664b263C6E54", Balance: utils2.ToArt(60_000_000), }, } MainnetValidators = []GenesisValidator{ { ID: 1, Addr: "0x1f25524b9D23320c40CE0C6ffc7E2D5630db5Ceb", Pubkey: "0xc00418209c3d5503b479c383c63456d80e10c6d8844254064b01eb90c13a1486d2071a48a05cb1ab7d93ef80896f9e876430efe9235d80a3ae2f9b2b37a354766944", Stake: utils2.ToArt(3_250_000), Balance: utils2.ToArt(10_000), }, { ID: 2, Addr: "0x37F272A6eFd66AF2d89b16675DBB4410C5fD2AFA", Pubkey: "0xc00463ba1938f62777bcdd5f551cd07a3643c84487b614cd58693690adfcb0c51efa3c49f6ffbccd16e0a95b3a013f7ba9ed80906bb12c51281416c19a77d70c92e3", Stake: utils2.ToArt(3_250_000), Balance: utils2.ToArt(10_000), }, { ID: 3, Addr: "0xBc02ABfA05e2251017C5FD4fD33e59667CC872D3", Pubkey: "0xc004e7a7d0ab393725cc0a581e82d44b3015c3d915c320273eade7fe2b508e360586d44d7c82b8e7c644acf7a92919d587fccd618339a9321de9f0b85d3bef627c5b", Stake: utils2.ToArt(3_250_000), Balance: utils2.ToArt(10_000), }, { ID: 4, Addr: "0x8F69AB452EE5A3c3cD91d15BBc339165A508AceB", Pubkey: "0xc00477944c51faeadeb1063bb60ed4084b42bcf2241446408e121424dc9e4acf36a97e41fc2739025a53e53ebfa98303b1f00640be7c9b677ce85614383de0734c4a", Stake: utils2.ToArt(3_250_000), Balance: utils2.ToArt(10_000), }, { ID: 5, Addr: "0x688Dc34D7176387596EF4D1da78AC5c1FafBF12D", Pubkey: "0xc0043a0e7634b9fd9176866bb83395a757a52e77ee00dad25df447b352c2b2aa1d7c8b6009ac365cf0b66447a5fed118196a26368a84f8876826416c775277f64f61", Stake: utils2.ToArt(3_250_000), Balance: utils2.ToArt(10_000), }, { ID: 6, Addr: "0xe837B818796f3657A988f39CAFfE75203c38b205", Pubkey: "0xc0043e927eedf3ef43d38e614dd55c8308f50d92d095eb1778fada8244810bdc5a5612277e0240e8f4d1bf69309e11b2cae3619ca2b74551838827aadfbfe9a60a8f", Stake: utils2.ToArt(2_150_000), Balance: utils2.ToArt(10_000), }, { ID: 7, Addr: "0xB5b5dfB5e3277D79B8E59389cecC74D46B2Bb607", Pubkey: "0xc0043fbb08c7bbcac82e2722b678d0740c0f5b58ea465d54e7d5954d19eacb3bb18aa0a6e6f0f9db43c60487b25193bb28318a1010e96b024602f400c974fd5262d4", Stake: utils2.ToArt(2_150_000), Balance: utils2.ToArt(10_000), }, { ID: 8, Addr: "0xFea412F092122461C61F7A1b849C5bbd88e08e5A", Pubkey: "0xc00485f89b7f12d5050ef72c3d8d96af8eb0f1ff1ada3e913d505a30d739954398408d65d398385ee2f6582aac887720f3855148a871ee138b2295e8b4e022550cee", Stake: utils2.ToArt(2_150_000), Balance: utils2.ToArt(10_000), }, } MainnetAccounts = []GenesisAccount{ { Addr: "0x461292FD4Cc5598938c500065b59045cB6F441A8", Balance: utils2.ToArt(2_000_000), }, { Addr: "0xe2618bF31A16Bba5D296C118F8D75bD6C4a75dBc", Balance: utils2.ToArt(12_000_000), }, { Addr: "0xe723a256D8912615A47Ef84F0830b05b22a7e9F5", Balance: utils2.ToArt(8_000_000), }, { Addr: "0x6A412042A05167CdB80d49f2cdfEfb6240C158bA", Balance: utils2.ToArt(8_000_000), }, { Addr: "0xcABa6265997076a95FC81ba19E5Ba22D38F72e00", Balance: utils2.ToArt(16_000_000), }, { Addr: "0xEEaBCe1f04F29dB5cf25275C3b7475E79fC7568d", Balance: utils2.ToArt(4_000_000), }, { Addr: "0xCc688B6A11271f54e84534d12A51Db04fa677C5f", Balance: utils2.ToArt(36_000_000), }, { Addr: "0xd949738946DB18e65DEf26a2A3528A14a5417AdF", Balance: utils2.ToArt(32_000_000), }, { Addr: "0x625d81DFc1a2e6A0Bb87e8eD4ed81d54235fBc23", Balance: utils2.ToArt(22_000_000), }, { Addr: "0xe37CdbfFa2a302e608b4f10FC832a5314Ed1529f", Balance: utils2.ToArt(24_000_000), }, { Addr: "0x6d8d46c01b50931239f2371BF289D38F173085Fd", Balance: utils2.ToArt(8_000_000), }, { Addr: "0xBaCF674C76C945B024ACfC7EeAa4a75528BcebF3", Balance: utils2.ToArt(30_000_000), }, { Addr: "0x9D986C0c1F931EB700161aaD57e9D799FCEA48b1", Balance: utils2.ToArt(7_220_000), }, } )
var ( MainnetGenesisID = "0x993417afae15968aa185376537e2c633844b5e624444812b64e0241a3289d8be" MainnetGenesisEpochsSection = "0x58d9a9e2fc53ac51948379435446d77d732138a141470059936beb15cef752b6" MainnetGenesisBlocksSection = "0x128c8be0b80e91991d6952773eb083254c6f633d1b3e34f2c1d186ec4960a97a" MainnetGenesisEvmSection = "0xf720abdc88dad9baeff19209954530d8a981809d32cb6b6d29979aecae1d76fc" TestnetGenesisID = "0x9b213544c349bd0e44b6890f7db7e40c64298925dbb9a69529e9fd0f31fbf337" TestnetGenesisEpochsSection = "0xd7e51f497d950b35f7e2d03b383d25c204b7780ce1822dcf70404c040338292f" TestnetGenesisBlocksSection = "0xd1d7afa34a7f09983dab3b5c5bb9697302f476502ad9440d04118fe3868eeea7" TestnetGenesisEvmSection = "0x6babd9234ed59ca9c7ee5eb285a048d1b916e736f46f043ea1d7b920c44f798a" DevnetGenesisID = "0xe37b5f4893fa4d446c1d2e716f76bd6257590814a4ec22a49786d381e206de39" DevnetGenesisEpochsSection = "0x419f919b566250e9f4b37edb8d12e9df6a42d57ebf2683587a2b34398f9dd59c" DevnetGenesisBlocksSection = "0x39f9cb2c2bc9ad3e753490f0eacf7a3a3badba95377d35a5f26549f45a8c55b8" DevnetGenesisEvmSection = "0xd0103758494c8d0468b81fe0961902329931a0f763f04f6993fc824decf3b0e3" )
var ( ZeroAddress = common.Address{} MaxGasForHasActiveSubscription = 500 * thousand MaxGasForDebitSubscription = 500 * thousand MaxGasForCreditSubscription = 500 * thousand MaxGasForGetSub = 500 * thousand MaxGasForIsWhitelisted = 500 * thousand MaxGasForSetOwnerOfContract = 500 * thousand MaxGasForAddReward = 500 * thousand )
var (
Bootnodes = map[string][]string{
"main": {
"enode://c4138ac86c0cd7607231601afeb24d2d0b7aaf4c8e1de28978aab6fdbca1af2ec41307b33529e64da72b9e592782840aa1552bda5b1f700eefbdba2a662c4ecc@bootnode1.arthera.net:6533",
"enode://91a72a01ba3eb7994c681d2e0212a8239d51fffe9dfdb38af373af2cb9612bf1f2f9514fea1b099a2d1e2bb83afa9c4487af7c7f05bcb5f0c6c63f8f757c7fcd@bootnode2.arthera.net:6533",
"enode://c3c05932654c6a92a8f544857491073f96715fa394476edee07931bf4da00d76eeb1b256d0a68d0404a8b37e8dec7e038c18f1a4cdbde0da91ef45d04c243de1@bootnode3.arthera.net:6533",
"enode://0ccae9dd3d8f6033929c9cf8371c4dd96f27c602e2cf9b363196a22557f8f36ca02b6ee64d20d230cb6b60d4a473066f9a4e6b0551d6ca67c797250c9bb3db20@bootnode4.arthera.net:6533",
"enode://946ec02182a11adb2c93851303ca8c6a6ef5041d84e7f695f3dd6a574f1891b879c5bde1c19cafa1ad91a9057e7d6830b8def76dede45bda350a9deb4e0c152c@bootnode5.arthera.net:6533",
},
"test": {
"enode://b8069d60bd2c6992b3c53740aec0dd21fe8737921094f857f24e73a926148b7a3da7f4259b956da94b8d55f3a606f91ae8ac571e3078bf1759e78ea1be02fc2b@57.129.12.242:6534",
"enode://bfd1f3076b9d8df8ea24874ad588ba6ac5e6ba2e9029bd4e6748f9e38d4503c62aeb649bd6df842dc1c79f60919156cf472d5cf1a4b6ae60288cf21523f5ea87@51.178.46.242:6534",
"enode://09294690223b242ef4225a2b8fec8f0d1183d94d4135ae573ab50b1f6c593b5fc4cf81a1c4a7d27debd07c53eb371fef08b63b12b80b48ddcbe3c5fb9bbb8ab3@57.129.13.140:6534",
},
"dev": {
"enode://0c202f27f0b3f0cff2542a639216bfac72c7900f4949bb30ac165c1021cfa905d8b6b4a714314456af3a01a4df1617c66bda9f4f35ea99da8049a1b76d2725d2@167.235.247.140:6535",
"enode://8ac57f12ca2962454f2196c372d9708a8926dd012c6ef901d128d721faeb8efbbb89c9e81d1c472ac00bbbf01b5680626990ef2caedbf317b51faec1c13b246f@49.13.80.149:6535",
"enode://f5415312d0e205956e89fcd8d3aabe437d15f0d328153df4604ea135e8a0955ff40a439e2b8432c837e30b572c0ec8e30ad3e42e5f6a1e1515553160cbc6f220@159.69.240.199:6535",
},
}
)
var DefaultVMConfig = vm.Config{ StatePrecompiles: map[common.Address]vm.PrecompiledStateContract{ contracts.EvmWriterSmartContractAddress: &evmwriter.PreCompiledContract{}, contracts.NativeTokenSmartContractAddress: &native_token.PreCompiledContract{}, }, }
Functions ¶
This section is empty.
Types ¶
type BlocksMissed ¶
BlocksMissed is information about missed blocks from a staker
type BlocksRules ¶
type BlocksRules struct {
MaxBlockGas uint64 // technical hard limit, gas is mostly governed by gas power allocation
MaxEmptyBlockSkipPeriod inter.Timestamp
}
BlocksRules contains blocks constants
type DagRules ¶
type DagRules struct {
MaxParents idx.Event
MaxFreeParents idx.Event // maximum number of parents with no gas cost
MaxExtraData uint32
}
DagRules of Lachesis DAG (directed acyclic graph).
func DefaultDagRules ¶
func DefaultDagRules() DagRules
type EconomyRules ¶
type EconomyRules struct {
BlockMissedSlack idx.Block
Gas GasRules
MinGasPrice *big.Int
ShortGasPower GasPowerRules
LongGasPower GasPowerRules
}
EconomyRules contains economy constants
func DefaultEconomyRules ¶
func DefaultEconomyRules() EconomyRules
DefaultEconomyRules returns mainnet economy
func FakeEconomyRules ¶
func FakeEconomyRules() EconomyRules
FakeEconomyRules returns fakenet economy
type EpochsRules ¶
func DefaultEpochsRules ¶
func DefaultEpochsRules() EpochsRules
func FakeNetEpochsRules ¶
func FakeNetEpochsRules() EpochsRules
type GasPowerRules ¶
type GasPowerRules struct {
AllocPerSec uint64
MaxAllocPeriod inter.Timestamp
StartupAllocPeriod inter.Timestamp
MinStartupGas uint64
}
GasPowerRules defines gas power rules in the consensus.
func DefaulLongGasPowerRules ¶
func DefaulLongGasPowerRules() GasPowerRules
DefaulLongGasPowerRules is long-window config
func DefaultShortGasPowerRules ¶
func DefaultShortGasPowerRules() GasPowerRules
DefaultShortGasPowerRules is short-window config
func FakeLongGasPowerRules ¶
func FakeLongGasPowerRules() GasPowerRules
FakeLongGasPowerRules is fake long-window config
func FakeShortGasPowerRules ¶
func FakeShortGasPowerRules() GasPowerRules
FakeShortGasPowerRules is fake short-window config
type GasRules ¶
type GasRules GasRulesRLPV1
func DefaultGasRules ¶
func DefaultGasRules() GasRules
type GasRulesRLPV0 ¶
type GasRulesRLPV1 ¶
type GenesisAccount ¶
type GenesisValidator ¶
type ProtocolRules ¶
type ProtocolRules ProtocolRulesRLP
ProtocolRules describes arthera net. Note keep track of all the non-copiable variables in Copy()
func DevNetRules ¶
func DevNetRules() ProtocolRules
func FakeNetRules ¶
func FakeNetRules() ProtocolRules
func MainNetRules ¶
func MainNetRules() ProtocolRules
func TestNetRules ¶
func TestNetRules() ProtocolRules
func UpdateRules ¶
func UpdateRules(src ProtocolRules, diff []byte) (res ProtocolRules, err error)
func (ProtocolRules) Copy ¶
func (r ProtocolRules) Copy() ProtocolRules
func (*ProtocolRules) DecodeRLP ¶
func (r *ProtocolRules) DecodeRLP(s *rlp.Stream) error
DecodeRLP is for RLP serialization.
func (ProtocolRules) EncodeRLP ¶
func (r ProtocolRules) EncodeRLP(w io.Writer) error
EncodeRLP is for RLP serialization.
func (ProtocolRules) EvmChainConfig ¶
func (r ProtocolRules) EvmChainConfig(hh []UpgradeHeight) *ethparams.ChainConfig
EvmChainConfig returns ChainConfig for transactions signing and execution
func (ProtocolRules) String ¶
func (r ProtocolRules) String() string
type ProtocolRulesRLP ¶
type ProtocolRulesRLP struct {
Name string
NetworkID uint64
// Graph options
Dag DagRules
// Epochs options
Epochs EpochsRules
// Blockchain options
Blocks BlocksRules
// Economy options
Economy EconomyRules
Upgrades Upgrades `rlp:"-"`
}