Last active
November 13, 2018 20:37
-
-
Save lamlephamngoc/fa483f4cc2de7d50340f45c470a6ab92 to your computer and use it in GitHub Desktop.
Ledger sign txn on Ropsten Infura - Failed to subscribe to new newBlockHeaders to confirm the transaction receipts
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import web3 from './web3'; | |
import TIIMPrivateSale from '../build/contracts/TIIMPrivateSale.json'; | |
const privateSaleAddress = process.env.REACT_APP_PRIVATE_SALE_ADDRESS || '0xcf0e7791eaf5baca756ae7e5ae7b64b0ab5f8b61'; | |
const instance = new web3.eth.Contract( | |
TIIMPrivateSale.abi, privateSaleAddress | |
); | |
export default instance; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import tiimPrivateSale from './ethereum/tiimPrivateSale'; | |
... | |
submitPrivateSale = async (event) => { | |
event.preventDefault(); | |
const {investor, value, bonus} = this.state; | |
this.closeSaleForm(); | |
this.setState({privateSaleLoading: true}); | |
const accounts = await web3.eth.getAccounts(); | |
const owner = accounts[0]; | |
try { | |
const txn = await tiimPrivateSale.methods | |
.sendToken(investor, web3.utils.toWei(value, 'ether'), web3.utils.toWei(bonus, 'ether') ) | |
.send({from: owner}); | |
} catch (err) { | |
console.log(err); | |
alert("Could not send private sale cause error : `" + err.message + "`"); | |
this.setState({privateSaleLoading: false}); | |
return; | |
} | |
const balance = await tiimToken.methods.balanceOf(this.state.privateSaleAddress).call(); | |
this.setState({privateSaleTiimBalance: balance}); | |
this.setState({privateSaleLoading: false}); | |
this.resetSaleForm(); | |
} | |
... |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import Web3 from 'web3'; | |
import TransportU2F from "@ledgerhq/hw-transport-u2f"; | |
import createLedgerSubprovider from "@ledgerhq/web3-subprovider"; | |
import ProviderEngine from "web3-provider-engine"; | |
import FetchSubprovider from "web3-provider-engine/subproviders/fetch"; | |
let web3; | |
const rpcUrl = process.env.REACT_APP_NETWORK_URL || "http://127.0.0.1:9545"; | |
const networkId = parseInt(process.env.REACT_APP_NETWORK_ID || "1337", 10); | |
const engine = new ProviderEngine(); | |
const getTransport = () => TransportU2F.create(); | |
const ledger = createLedgerSubprovider(getTransport, { | |
networkId, | |
accountsOffSet: 0 | |
}); | |
engine.addProvider(ledger); | |
engine.addProvider(new FetchSubprovider({ rpcUrl })); | |
engine.start(); | |
web3 = new Web3(engine); | |
export default web3; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment