loom.yaml
RPCBindAddress: "tcp://0.0.0.0:46658"
EventDispatcherURI: ""
BFTLogLevel: "debug"
LoomLogLevel: "info"
RootDir: "."
DBName: "app"
GenesisFile: "genesis.json"
PluginsDir: "contracts"
ContractLogLevel: "debug"
ChainID: "awesomechain"
# Peers: ""
# SessionMaxAccessCount: "0"
# SessionDuration: "600"
PlasmaCashEnabled: false
# EthereumURI: ws://127.0.0.1:8545"
変更したい1行があれば、そこの # を消去しよう。
RPCBindAddress
オプション: "tcp://0.0.0.0:46658"
これは、バインディングRPCインターフェイスのためのプライマリインターフェイスである。
LoomLogLevel
オプション: debug, info, warn, error
Loomブロックチェーン用の一般的なロギング。
ContractLogLevel
オプション: debug, info, warn, error
Goベースのスマートコントラクト用の一般的なロギング。
BFTLogLevel
オプション: debug, info, warn, error
BFTレイヤーブロックチェーン用の一般的なロギング。使用するBFTエンジンに基づき、変更となる可能性がある。
EthereumURI
オプション: "ws://127.0.0.1:8545"
これはイーサリアム・ブロックチェーンのURLであり、Plasmaやトランスファーゲートウェイのためにデータを読み取る。 今後はinfuraのサポートも予定している。
ChainID
オプション: "awesomechain"
これはあなたのチェーンの名前である。例えば "eth"、"zombiechain"、"test-zombiechain"、"delegatecall"というようなものだ。
config.toml
Tendermint BFTエンジンをお使いであれば、このファイルを修正可能だ。そうでない場合はそのままにしておこう。
ABCIAddress
オプション: "http://127.0.0.1:45667"
Tendermint bftエンジン用のポート
ReceiptsVersion
オプション: 1,2
ほとんどのユーザーはこれを1に設定する必要があり、evmの受信者はアプリケーションストアに保存される。 2に設定されている場合、EVMの受信者は別のデータベースに保存される。 これはディスクの使用に適しているが、 AppHashesに影響するため、クラスター全体を同じバージョンで初期化する必要があり、初期化後に変更してはならない。
RegistryVersion
オプション: 1,2
ほとんどのユーザーはこれを2に設定する必要がある。 これはスマートコントラクトレジストリの最新バージョンである。 クラスタ全体を同じバージョンで初期化する必要があり、初期化後に変更してはならない。
DPOSVersion
オプション: 1,2
DPoSのバージョン2はまだ実験段階であり、開発用クラスタでのみこれを使用する。 これはリワードとスラッシングをよりサポートする。 クラスタ全体を同じバージョンにする必要があり、初期化後に変更してはならない。
CreateEmptyBlocks
Boolean: true, false
多くのクラスタは、ディスク容量を節約するために空のブロックを無効にしようとする。
AppStore
AppStore:
CompactOnLoad: true
MaxVersions: 50
プロダクションクラスタ及び頻繁に消去されることのないdevクラスタにおいて、app.dbに留めておくヒストリー量の設定を有効にする必要がある。 app.dbの新たなバージョンはブロック毎に作成されるため、これらのノード設定がない場合はかなり多くのディスク容量を消費することになる。
CompactOnLoad
ノードの起動時にapp.dbを圧縮する。これはノードの起動時間に影響を及ぼすが、古いapp.dbバージョンによって占有されていたディスク領域が解放される。
MaxVersions
アプリのストアに保存されるバージョンの最大数だけ、ブロックがコミットされるたびに新バージョンのアプリステートがストアに格納されるが、これはブロックチェーンのストアに格納されるブロック数/トランザクション数には影響しない。
HSM
HsmConfig:
HsmEnabled: "true"
HsmDevType: "yubihsm"
HsmConnUrl: "localhost:12345"
HsmDevLogCred: "password"
HsmAuthKeyId: 1
HsmSignKeyId: 100
詳細はHSM Page を参照
Plasma
PlasmaCash:
ContractEnabled: true
OracleEnabled: true
Karma
Data Types
type KarmaConfig struct {
Enabled bool // Activate karma module
ContractEnabled bool // Allows you to deploy karma contract to collect data even if chain doesn't use it
UpkeepEnabled bool // Adds an upkeep cost to deployed and active contracts for each user
MaxCallCount int64 // Maximum number call transactions per session duration
SessionDuration int64 // Session length in seconds
}
例
Karma:
Enabled: {{ .Karma.Enabled }}
ContractEnabled: {{ .Karma.ContractEnabled }}
UpkeepEnabled: {{ .Karma.UpkeepEnabled }}
MaxCallCount: {{ .Karma.MaxCallCount }}
SessionDuration: {{ .Karma.SessionDuration }}
Caching Store
CachingStoreConfig:
CachingEnabled: {{ .CachingStoreConfig.CachingEnabled }}
# Number of cache shards, value must be a power of two
Shards: {{ .CachingStoreConfig.Shards }}
# Time after we need to evict the key
EvictionTimeInSeconds: {{ .CachingStoreConfig.EvictionTimeInSeconds }}
# interval at which clean up of expired keys will occur
CleaningIntervalInSeconds: {{ .CachingStoreConfig.CleaningIntervalInSeconds }}
# Total size of cache would be: MaxKeys*MaxSizeOfValueInBytes
MaxKeys: {{ .CachingStoreConfig.MaxKeys }}
MaxSizeOfValueInBytes: {{ .CachingStoreConfig.MaxSizeOfValueInBytes }}
# Logs operations
Verbose: {{ .CachingStoreConfig.Verbose }}
LogLevel: "{{ .CachingStoreConfig.LogLevel }}"
LogDestination: "{{ .CachingStoreConfig.LogDestination }}"
Event Store
EventDispatcher:
# Available dispatcher: "db_indexer" | "log" | "redis"
Dispatcher: "db_indexer"
# Redis will be use when Dispatcher is "redis"
Redis:
URI: "{{.EventDispatcher.Redis.URI}}"
App store
AppStore:
# If true the app store will be compacted before it's loaded to reclaim disk space.
CompactOnLoad: {{ .AppStore.CompactOnLoad }}
# Maximum number of app store versions to keep, if zero old versions will never be deleted.
MaxVersions: {{ .AppStore.MaxVersions }}
# Number of seconds to wait after pruning a batch of old versions from the app store.
# If this is set to zero the app store will only be pruned after a new version is saved.
PruneInterval: {{ .AppStore.PruneInterval }}
# Number of versions to prune at a time.
PruneBatchSize: {{ .AppStore.PruneBatchSize }}