# Q&A
#### 01 What is chain33 and chain33's advantages



Chain33 is a highly modular blockchain development framework following the KISS principle.

#### 02 Developing new consensus plug-ins to avoid bifurca



When developing new consensus protocol, if you don’t want to make the chain splitNote that in the CreateBlock() implementation of the Miner interface, a consensus node calls client.writeblock() to initiate the packaging of the new block. If more than one node packages a new block at the same height, fork occurs. Only the longest chain retained at last, and the fork chain will be cleaned up, the forked transaction data on the chain will return to the mempool, waiting for the new block to package it.

#### 03 Solo consensus startup exception



Chain33 configuration files are modular configurations, there is no solo consensus parameter configured by default, so the error will be reported when starting directly, the following solo related configuration parameters need to be added in the configuration file:

```
[consensus.sub.solo]
genesisBlockTime=1514533394
genesis="1CbEVT9RnM5oZhWMj4fxUrJX94VtRotzvs"
```

#### 04 What are the reasons for two Open and Close trans



**Problem description:**
Two consecutive transactions with actuators of type ticket appeared in block,the execution are both topen，And one of them is a successful execution and the other is a failed execution.
Refer to the problem with height 1057421 on the test chain: https://testnet.bityuan.com/blockDetail?height=1057421

**Solution:**
Check the input data of the error transaction, whether minerAddress and returnAddress connfigured to the same address, and use ticket binder_miner to check if the address is set to an offline mining address.If so, change to another offline address and the problem can be fixed.

