Boilertalk / Web3.swift

A pure swift Ethereum Web3 library
MIT License
639 stars 188 forks source link

method eth_sendTransaction does not exist/is not available error #113

Open nick70007 opened 2 years ago

nick70007 commented 2 years ago

In my Swift UI App i am trying to send transaction but everytime i get this error as:

method eth_sendTransaction does not exist/is not available error

Here is my code anippet:

     let web3 = Web3(rpcURL: "https://ropsten.infura.io/v3/4cca371cb77c4935bdb1a1381b2ffbe2")
    guard let walletAddress = getAddress(hex: session.walletInfo!.accounts[0]) else { return }
    guard let contractAddress = getAddress(hex: Constants.contractAddress) else { return }

    firstly {
        web3.eth.getTransactionCount(address: walletAddress, block: .latest)
    }.then { nonce in
        return EthereumTransaction(nonce: nonce,
                                     gasPrice: nil,
                                     gas: nil,
                                     from: walletAddress,
                                     to: contractAddress,
                                     value: try! EthereumQuantity.string("0x0"),
                                     data: try! EthereumData.string(self.mintTransactionHash)).promise
    }.then { tx in
        web3.eth.sendTransaction(transaction: tx)
    }.done { hash in
        self.transactionHash = hash.hex()
        self.isTransactionSend = true
        self.saveNFtItem()
        Defaults[.transactionHash] = self.transactionHash
    }.catch { error in
        print("Transaction Failed:- \(error.localizedDescription)")
        self.transactionFailed("Transaction Failed",false)
    }
ceobitch commented 2 years ago

Same here

ceobitch commented 2 years ago

@nick70007 Did you find a soultion?