iOS web3swift交易签名

2018-10-19  本文已影响66人  9d8c8692519b

// transactionSign  交易签名  fix ETH 和代币
    func transactionSign(nonce :String,gasPrice :String,gasLimit :String,toAddress :String,value :String,privateKeyData :Data,chainID :String,templateData :Data) -> Data  {
        
        var transaction = EthereumTransaction(nonce: BigUInt(nonce)!,
                                              gasPrice: BigUInt(gasPrice)!,
                                              gasLimit: BigUInt(gasLimit)!,
                                              to: EthereumAddress(toAddress)!,
                                              value: BigUInt(value)!,
                                              data: templateData,
                                              v: BigUInt(0),
                                              r: BigUInt(0),
                                              s: BigUInt(0))
        transaction.UNSAFE_setChainID(BigUInt(chainID)!)
        print(transaction)
        try! Web3Signer.EIP155Signer.sign(transaction: &transaction, privateKey: privateKeyData, useExtraEntropy: false)
        print(transaction)
        let encoded:Data? = transaction.encode()
        return encoded!
    }

上述中 templateData 代币才有,ETH为 templateData = nil。

上一篇 下一篇

猜你喜欢

热点阅读