github.com/linapex/ethereum-go-chinese@v0.0.0-20190316121929-f8b7a73c3fa1/tests/init.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:45</date> 10 //</624450122259894272> 11 12 13 package tests 14 15 import ( 16 "fmt" 17 "math/big" 18 19 "github.com/ethereum/go-ethereum/params" 20 ) 21 22 //forks表定义支持的forks及其链配置。 23 var Forks = map[string]*params.ChainConfig{ 24 "Frontier": { 25 ChainID: big.NewInt(1), 26 }, 27 "Homestead": { 28 ChainID: big.NewInt(1), 29 HomesteadBlock: big.NewInt(0), 30 }, 31 "EIP150": { 32 ChainID: big.NewInt(1), 33 HomesteadBlock: big.NewInt(0), 34 EIP150Block: big.NewInt(0), 35 }, 36 "EIP158": { 37 ChainID: big.NewInt(1), 38 HomesteadBlock: big.NewInt(0), 39 EIP150Block: big.NewInt(0), 40 EIP155Block: big.NewInt(0), 41 EIP158Block: big.NewInt(0), 42 }, 43 "Byzantium": { 44 ChainID: big.NewInt(1), 45 HomesteadBlock: big.NewInt(0), 46 EIP150Block: big.NewInt(0), 47 EIP155Block: big.NewInt(0), 48 EIP158Block: big.NewInt(0), 49 DAOForkBlock: big.NewInt(0), 50 ByzantiumBlock: big.NewInt(0), 51 }, 52 "Constantinople": { 53 ChainID: big.NewInt(1), 54 HomesteadBlock: big.NewInt(0), 55 EIP150Block: big.NewInt(0), 56 EIP155Block: big.NewInt(0), 57 EIP158Block: big.NewInt(0), 58 DAOForkBlock: big.NewInt(0), 59 ByzantiumBlock: big.NewInt(0), 60 ConstantinopleBlock: big.NewInt(0), 61 }, 62 "FrontierToHomesteadAt5": { 63 ChainID: big.NewInt(1), 64 HomesteadBlock: big.NewInt(5), 65 }, 66 "HomesteadToEIP150At5": { 67 ChainID: big.NewInt(1), 68 HomesteadBlock: big.NewInt(0), 69 EIP150Block: big.NewInt(5), 70 }, 71 "HomesteadToDaoAt5": { 72 ChainID: big.NewInt(1), 73 HomesteadBlock: big.NewInt(0), 74 DAOForkBlock: big.NewInt(5), 75 DAOForkSupport: true, 76 }, 77 "EIP158ToByzantiumAt5": { 78 ChainID: big.NewInt(1), 79 HomesteadBlock: big.NewInt(0), 80 EIP150Block: big.NewInt(0), 81 EIP155Block: big.NewInt(0), 82 EIP158Block: big.NewInt(0), 83 ByzantiumBlock: big.NewInt(5), 84 }, 85 "ByzantiumToConstantinopleAt5": { 86 ChainID: big.NewInt(1), 87 HomesteadBlock: big.NewInt(0), 88 EIP150Block: big.NewInt(0), 89 EIP155Block: big.NewInt(0), 90 EIP158Block: big.NewInt(0), 91 ByzantiumBlock: big.NewInt(0), 92 ConstantinopleBlock: big.NewInt(5), 93 }, 94 } 95 96 //当测试请求未实现的分叉时,将返回UnsupportedWorkError。 97 type UnsupportedForkError struct { 98 Name string 99 } 100 101 func (e UnsupportedForkError) Error() string { 102 return fmt.Sprintf("unsupported fork %q", e.Name) 103 } 104