contractCode = contractCodeEt.getText().toString();
// 这里contractCode就是remix编译出来的bytecode里的object,
// 是一串数字,自己不需要再这串数字前加0x之类的东西,直接复制
// 粘贴过来就行了
// 与一般的交易使用RawTransaction.createTransaction不同,
// 这里使用的是RawTransaction.createContractTransaction。
RawTransaction rawTransaction = RawTransaction.createContractTransaction(new BigInteger(VnsApi.nonce + ""), DefaultGasProvider.GAS_PRICE, DefaultGasProvider.GAS_LIMIT, amount.toBigInteger(), contractCode);
// 普通的交易gas limit使用60,000就够了,但部署合约的交易要多些
// Gas_limit为 8,000,000
// Gas_price为 0.000000022 Vns
//
// 部署合约时可以通过传value给合约打钱
Log.v("perci_DeployContractFragment.java", "nonce=" + VnsApi.nonce);
byte[] signedRawTransactionBytes = TransactionEncoder.signMessage(rawTransaction, credentials);
String signedRawTransaction = Numeric.toHexString(signedRawTransactionBytes);
// 最后将这个签名好后的合约通过rpc接口发送出去就可以了