# Bityuan Main Network Environment

**[Bityuan Test Network Environment Configuration](https://github.com/33cn/plugin/blob/master/chain33.toml)**

The following is the configuration of the bityuan test network environment and the meaning of each parameter:

```
# Title is chain33, indicates that this profile is the configuration for the test network.The difference with local is chain can have multiple nodes on the it, and the consensus module does not use solo mode.
Title="chain33"
TestNet=true
FixTime=false
version="6.0.181228"
[log]
# Log level, support debug(dbug)/info/warn/error(eror)/crit
loglevel = "info"
logConsoleLevel = "info"
# Log file name, where all generated log files are placed, 
logFile = "logs/chain33.log"
# Maximum value of a single log file (unit: megabyte)
maxFileSize = 300
# Maximum number of saved history log files 
maxBackups = 100
# Maximum number of saved history log messages (unit: days)
maxAge = 28
# Whether log file names use local time (if not, then use UTC time)
localTime = true
# Whether the history log file is compressed (compressed format is gz)
compress = true
# Whether to print the call source file and line number
callerFile = false
# Whether to print the calling method
callerFunction = false
[blockchain]
# Number of cached blocks
defCacheSize=128
# The maximum number of blocks to apply for at one time when synchronizing blocks
maxFetchBlockNum=128
# The time interval between requesting a synchronized block from the opposite node
timeoutSeconds=5
# Database type used
driver="leveldb"
# Database file directory
dbPath="datadir"
# Database cache size
dbCache=64
# Whether it is a single node
singleMode=true
# Whether need to write to disk immediately when bulk writing to a database. You can set false for non-ssd computers to improve performance.
batchsync=false
# Whether to record the sequence of adding or deleting blocks, if the node act as the main chain node and provides service for the parallel chain node, it needs to be set to true
isRecordBlockSequence=true
# Whether it is a parallel chain node
isParaChain=false
# Whether to turn on the tx quick query index
enableTxQuickIndex=false
[p2p]
# P2P service monitor port number
port=13802
# Seed node, in ip:port format, with multiple nodes separated by commas, such as seeds=["10.0.0.1:13802","10.0.0.2:13802","10.0.0.3:13802"]
seeds=[]
# Whether to start P2P service
enable=true
# Whether it is a seed node
isSeed=false
# Whether to provide external services as a server
serverStart=true
# Whether to use the built-in seed node
innerSeedEnable=false
# Whether to use Github to obtain seed nodes
useGithub=false
# The maximum number of access nodes
innerBounds=300
# Database type
driver="leveldb"
# Database file directory
dbPath="datadir/addrbook"
# Database cache size
dbCache=4
# GRPC request log file
grpcLogFile="grpc33.log"
[rpc]
# jrpc bind address
jrpcBindAddr="localhost:8801"
# grpc bind address
grpcBindAddr="localhost:8802"
# White list of IP address allowed to access, default is "*", allow all IP to access
whitelist=["127.0.0.1"]
# JRPC requests a whitelist, which defaults to "*", allowing access to all RPC methods
jrpcFuncWhitelist=["*"]
# JRPC method request blacklist, prohibit the call of RPC method configured in the blacklist, generally used in conjunction with the white list, the default is empty
# jrpcFuncBlacklist=["xxxx"]
# GRPC methods request whitelist, default is "*", allowing access to all RPC methods
grpcFuncWhitelist=["*"]
# GRPC method request blacklist, prohibit the call of RPC method configured in the blacklist, generally used in conjunction with the white list, the default is empty
# grpcFuncBlacklist=["xxx"]
# Whether to turn on HTTPS
enableTLS=false
# Certificate files, certificates and private key files can be generated by the cli tool
certFile="cert.pem"
# Private key files
keyFile="key.pem"
# mempool queue configuration only works for packaged nodes
[mempool]
# Mempool queue name, matching timeline, score, price
name="timeline"
# Mempool cache size, default is 10240
poolCacheSize=10240
# Minimum transaction fee, no default value, and value is required, generally 100,000
minTxFee=100000
# The maximum number of transactions per account in mempool, default is 100 
maxTxNumPerAccount=10000
# timeline, default
[mempool.sub.timeline]
# Mempool cache size, default is 10240
poolCacheSize=10240
# Minimum transaction fee, no default value, and value is required, generally 100,000
minTxFee=100000
# The maximum number of transactions per account in mempool, default is 100 
maxTxNumPerAccount=10000
# score is a queue mode (score = constant a * fee /transaction bytes - c onstant b * time * quantitative c, queued by score, high priority, constant a, b and quantitative c can be configured), sorted by score
[mempool.sub.score]
# Mempool cache size, default is 10240
poolCacheSize=10240
# Minimum transaction fee, no default value, and value is required, generally 100,000
minTxFee=100000
# The maximum number of transactions per account in mempool, default is 100 
maxTxNumPerAccount=10000
# Weight of waiting time
timeParam=1
# An appropriate constant for the service charge relative to time, take the first four digits of the current Unix timestamp, a score of 1e-5 higher on the queue is about the same as a score of 1s faster
priceConstant=1544
# Constant Proportion
pricePower=1
# Price is the queue mode (price = fee / transaction bytes, priority is given to the higher price, or the earlier time of the same price)
[mempool.sub.price]
# Mempool cache size, default is 10240
poolCacheSize=10240
# Minimum transaction fee, no default value, and value is required, generally 100,000
minTxFee=100000
# The maximum number of transactions per account in mempool, default is 100 
maxTxNumPerAccount=10000
[consensus]
name="ticket"
#Whether or not to start mining, in order to create blocks
minerstart=true
#Foundation oundation block time (UTC time)
genesisBlockTime=1514533394
#Foundation trading address
genesis="14KEKbYtKKQm4wMthSK9J4La4nAiidGozt"
[mver.consensus]
#Fund account address
fundKeyAddr = "1BQXS6TxaYYG5mADaWij4AxhZZUTpw95a5"
#User reward
coinReward = 18
#Development fund reward
coinDevFund = 12
#ticket price
ticketPrice = 10000
#Difficulty of mining
powLimitBits = "0x1f00ffff"
#The maximum range of adjusting   of difficulty each time, if set to 4, the range is (1/4-4), do not increase the difficulty more than 4 times at one time, or reduce the difficulty to 1/4 of the original, as this parameter is set in order to avoid sudden burst of difficulty
retargetAdjustmentFactor = 4
#Indicates that if the block time is greater than the current time 16s, then the block will be judged as invalid.
futureBlockTime = 16
#Ticket freeze time
ticketFrozenTime = 5    #5s only for test
ticketWithdrawTime = 10 #10s only for test
ticketMinerWaitTime = 2 #2s only for test
#The maximum number of transactions contained by block 
maxTxNumber = 1600      #160
#Adjust the interval of difficulty(difficulty is not adjusted for each block, but every targetTimespan/targetTimePerBlock)
targetTimespan = 2304
#Target time for each block package
targetTimePerBlock = 16
#Parameters that change after v1 branched
[mver.consensus.ForkChainParamV1]
futureBlockTime = 15
ticketFrozenTime = 43200
ticketWithdrawTime = 172800
ticketMinerWaitTime = 7200
maxTxNumber = 1500
targetTimespan = 2160
targetTimePerBlock = 15
#Parameters that change after v1 branched
[mver.consensus.ForkChainParamV2]
powLimitBits = "0x1f2fffff"
[consensus.sub.ticket]
genesisBlockTime=1514533394
[[consensus.sub.ticket.genesis]]
minerAddr="12qyocayNF7Lv6C9qW4avxs2E7U41fKSfv"
returnAddr="14KEKbYtKKQm4wMthSK9J4La4nAiidGozt"
count=10000
[[consensus.sub.ticket.genesis]]
minerAddr="1PUiGcbsccfxW3zuvHXZBJfznziph5miAo"
returnAddr="1EbDHAXpoiewjPLX9uqoz38HsKqMXayZrF"
count=10000
[[consensus.sub.ticket.genesis]]
minerAddr="1EDnnePAZN48aC2hiTDzhkczfF39g1pZZX"
returnAddr="1KcCVZLSQYRUwE5EXTsAoQs9LuJW6xwfQa"
count=10000
[store]
# Data file storage path
dbPath="datadir/mavltree"
# Cache size
dbCache=128
[store.sub.mavl]
# Whether to enable mavl prefix
enableMavlPrefix=false
# Whether enable MVCC,if enableMVCC in mavl is true then this has to be true
enableMVCC=false
# Whether to enable mavl data clipping
enableMavlPrune=false
# Cutting height interval
pruneHeight=10000
[wallet]
minFee=100000
driver="leveldb"
dbPath="wallet"
dbCache=16
signType="secp256k1"
[wallet.sub.ticket]
# Cut the height interval to close ticket auto mining, default is false
minerdisable=false
# White list addresses that allow ticket mining, default config "*" for allowing all addresses
minerwhitelist=["*"]
[wallet.sub.multisig]
rescanMultisigAddr=false
[exec]
isFree=false
minExecFee=100000
enableStat=false
enableMVCC=false
alias=["token1:token","token2:token","token3:token"]
[exec.sub.token]
saveTokenTxList=true
tokenApprs = [
    "1Bsg9j6gW83sShoee1fZAt9TkUjcrCgA9S",
    "1Q8hGLfoGe63efeWa8fJ4Pnukhkngt6poK",
    "1LY8GFia5EiyoTodMLfkB5PHNNpXRqxhyB",
    "1GCzJDS6HbgTQ2emade7mEJGGWFfA15pS9",
    "1JYB8sxi4He5pZWHCd3Zi2nypQ4JMB6AxN",
    "12qyocayNF7Lv6C9qW4avxs2E7U41fKSfv",
]
[exec.sub.cert]
# Whether enable certificate validation and signature
enable=false
# Encrypted file path
cryptoPath="authdir/crypto"
# Signature type with certificate, support "auth_ecdsa", "auth_sm2"
signType="auth_ecdsa"
[exec.sub.relay]
genesis="14KEKbYtKKQm4wMthSK9J4La4nAiidGozt"
[exec.sub.manage]
superManager=[
    "1Bsg9j6gW83sShoee1fZAt9TkUjcrCgA9S",
    "12qyocayNF7Lv6C9qW4avxs2E7U41fKSfv",
    "1Q8hGLfoGe63efeWa8fJ4Pnukhkngt6poK"
]
```

