问题: 如何生成calldata调用solidity合约？
回答: solidity合约编译的时候指定abi选项，例如：solc --abi --bin -o ./build TestBB.sol，编译完后除bin文件外还会生成一个.abi文件。调用chainmaker提供的abi计算包(chainmaker/common/evmutils/abi)计算calldata。

​ 1 读取合约的abi文件，例如：abiJson, err := ioutil.ReadFile(token_ABI_path)；

​ 2 调用abi.JSON构建abi对象，例如：abiObj, err := abi.JSON(strings.NewReader(string(abiJson)))

​ 3 使用abi对象计算calldata，例如：callData, err := abiObj.Pack(transfer, ce244336a16f64c5b6b27feae28a5ebd270be8ee, 100)