github.com/linapex/ethereum-go-chinese@v0.0.0-20190316121929-f8b7a73c3fa1/params/protocol_params.go (about) 1 2 //<developer> 3 // <name>linapex 曹一峰</name> 4 // <email>linapex@163.com</email> 5 // <wx>superexc</wx> 6 // <qqgroup>128148617</qqgroup> 7 // <url>https://jsq.ink</url> 8 // <role>pku engineer</role> 9 // <date>2019-03-16 19:16:42</date> 10 //</624450107802128384> 11 12 13 package params 14 15 import "math/big" 16 17 const ( 18 GasLimitBoundDivisor uint64 = 1024 //气体极限的界限除数,用于更新计算。 19 MinGasLimit uint64 = 5000 //气体极限可能是最小值。 20 GenesisGasLimit uint64 = 4712388 //成因区块气限。 21 22 MaximumExtraDataSize uint64 = 32 //最大尺寸的额外数据可能在Genesis之后。 23 ExpByteGas uint64 = 10 //乘以exp指令的CEIL(log256(指数))。 24 SloadGas uint64 = 50 //乘以为任何*复制操作复制(舍入)并添加的32字节字数。 25 CallValueTransferGas uint64 = 9000 //当价值转移为非零时支付呼叫费用。 26 CallNewAccountGas uint64 = 25000 //当目标地址以前不存在时支付呼叫费用。 27 TxGas uint64 = 21000 //未创建合同的每笔交易。注:交易之间的通话数据不支付。 28 TxGasContractCreation uint64 = 53000 //创建合同的每个事务。注:交易之间的通话数据不支付。 29 TxDataZeroGas uint64 = 4 //附加到等于零的事务的每字节数据。注:交易之间的通话数据不支付。 30 QuadCoeffDiv uint64 = 512 //内存成本方程二次粒子的除数。 31 LogDataGas uint64 = 8 //日志*操作数据中的每个字节。 32 CallStipend uint64 = 2300 //呼叫开始时提供的游离气体。 33 34 Sha3Gas uint64 = 30 //每运行一次。 35 Sha3WordGas uint64 = 6 //sha3操作数据的每个字一次。 36 37 SstoreSetGas uint64 = 20000 //每个sload操作一次。 38 SstoreResetGas uint64 = 5000 //如果零度从零变为零,则每个SStore操作一次。 39 SstoreClearGas uint64 = 5000 //如果零度不变,则每个sstore操作一次。 40 SstoreRefundGas uint64 = 15000 //如果零度更改为零,则每个SStore操作一次。 41 42 NetSstoreNoopGas uint64 = 200 //如果值不变,则每个sstore操作一次。 43 NetSstoreInitGas uint64 = 20000 //从清除零开始,每个SStore操作一次。 44 NetSstoreCleanGas uint64 = 5000 //每个SStore操作一次,从clean non-zero开始。 45 NetSstoreDirtyGas uint64 = 200 //每个SStore操作一次。 46 47 NetSstoreClearRefund uint64 = 15000 //每个SStore操作一次,用于清除原来存在的存储槽 48 NetSstoreResetRefund uint64 = 4800 //每次存储操作一次,用于重置为原始非零值 49 NetSstoreResetClearRefund uint64 = 19800 //每次存储操作一次,以重置为原始零值 50 51 JumpdestGas uint64 = 1 //如果零度变为零,则每次存储操作一次,返回气体。 52 EpochDuration uint64 = 30000 //工作证明阶段之间的持续时间。 53 CallGas uint64 = 40 //每次呼叫操作和消息呼叫事务一次。 54 CreateDataGas uint64 = 200 // 55 CallCreateDepth uint64 = 1024 //调用/创建堆栈的最大深度。 56 ExpGas uint64 = 10 //每exp指令一次 57 LogGas uint64 = 375 //每个日志*操作。 58 CopyGas uint64 = 3 // 59 StackLimit uint64 = 1024 //允许的VM堆栈的最大大小。 60 TierStepGas uint64 = 0 //每个操作一次,供选择。 61 LogTopicGas uint64 = 375 //乘以每个日志事务的日志*。例如,log0招致0*c_txlogtopicgas,log4招致4*c_txlogtopicgas。 62 CreateGas uint64 = 32000 //每次创建操作和合同创建交易一次。 63 Create2Gas uint64 = 32000 //每个create2操作一次 64 SuicideRefundGas uint64 = 24000 //自杀手术后退款。 65 MemoryGas uint64 = 3 //乘以(内存中引用的最高字节数+1)的地址。注意:引用发生在读、写以及返回和调用等指令中。 66 TxDataNonZeroGas uint64 = 68 //附加到不等于零的事务的每字节数据。注:交易之间的通话数据不支付。 67 68 MaxCodeSize = 24576 //合同允许的最大字节码 69 70 //预编译合同天然气价格 71 72 EcrecoverGas uint64 = 3000 //椭圆曲线发送器回收气价格 73 Sha256BaseGas uint64 = 60 //sha256操作的基价 74 Sha256PerWordGas uint64 = 12 //sha256操作的每字价格 75 Ripemd160BaseGas uint64 = 600 //ripemd160操作的基价 76 Ripemd160PerWordGas uint64 = 120 //ripemd160操作的每字价格 77 IdentityBaseGas uint64 = 15 //数据复制操作的基价 78 IdentityPerWordGas uint64 = 3 //数据复制操作的每个工作价格 79 ModExpQuadCoeffDiv uint64 = 20 //大整数模幂的二次粒子的除数 80 Bn256AddGas uint64 = 500 //椭圆曲线加法所需的气体 81 Bn256ScalarMulGas uint64 = 40000 //椭圆曲线标量乘法所需的气体 82 Bn256PairingBaseGas uint64 = 100000 //椭圆曲线配对检验的基价 83 Bn256PairingPerPointGas uint64 = 80000 //椭圆曲线配对检查的每点价格 84 ) 85 86 var ( 87 DifficultyBoundDivisor = big.NewInt(2048) //难度的界限除数,用于更新计算。 88 GenesisDifficulty = big.NewInt(131072) //创世纪板块的难度。 89 MinimumDifficulty = big.NewInt(131072) //难度可能是最小的。 90 DurationLimit = big.NewInt(13) //用于确定难度是否应增加的块时间持续时间的决策边界。 91 ) 92