# How to test miner on dev chain `dev` chain is a local chain for development, its pow algorithm is `Dummy`, which is not a real pow algorithm, it just mines a block in a fixed or random time interval. If you want to test your miner or mining pool related features, you may change the pow algorithm to `Eaglesong` and use dev chain to test. The following steps will show you how to do it. ## Initialize a dev chain First, you need to prepare one public/private keypair, then initialize a dev chain by passing the public key hash to `--ba-arg` option: ```shell mkdir ckb-dev-miner-test cd ckb-dev-miner-test ckb init --chain dev --ba-arg 0x470dcdc5e44064909650113a274b3b36aecb6dc7 ``` ## Modify the config file Then you need to modify the config file `specs/dev.toml`, change the option `func` under the section `[pow]` from `Dummy` to `Eaglesong`: ```diff - func = "Dummy" + func = "Eaglesong" ``` ## Start the ckb node Start the ckb node: ```shell ckb run ``` You will see the node is listening on the default rpc port `8114` by checking the log output: ``` main INFO ckb_rpc::server Listen HTTP RPCServer on address: 127.0.0.1:8114 ``` ## Verify the setup ckb provides a built-in miner which can be used to verify the setup, you need to modify the section `[[miner.workers]]` of config file `ckb-miner.toml`: ```diff - worker_type = "Dummy" - delay_type = "Constant" - value = 9500 + worker_type = "EaglesongSimple" + threads = 1 ``` then start the miner (please note that you need to start the miner in another terminal): ```shell ckb miner ``` if you see the following similar output, it means the setup is correct: ``` Found! #38 0xb7c7a93578e72316ad35db9131822e9dc52745ad511673b521150cf10ccb2280 Found! #39 0x0c78d91f877764e90e88f11dede4b6e70933bb70d87ef3b14fb42291833ddb86 Found! #40 0xc37b8c375f9ec4b671dc8a553791630d2ffc7a0a4a3fe7d6195121754b08c458 Found! #41 0x43768c4a1a8b723f6b4a23426fda14c044ecc501d56bc2f18fef50829d8e132b ... ``` Now you can stop the miner process and start your own miner or mining pool to test your features.