From 121734c71cf73f97194efff1cb120808dcf477cb Mon Sep 17 00:00:00 2001 From: Cristiano Martins Date: Thu, 26 Sep 2019 20:34:20 -0300 Subject: [PATCH 1/2] updated the web3 provider to be nodesmith.io --- apis/core.js | 7 +++---- components/constants/index.js | 4 +++- components/context/AppInfo.js | 3 ++- next.config.js | 3 +-- now.json | 3 +-- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/apis/core.js b/apis/core.js index 6d62869..f99c67b 100644 --- a/apis/core.js +++ b/apis/core.js @@ -4,6 +4,7 @@ import * as TokenSale from '../components/constants/contracts/TokenSale'; import * as MyBitToken from '../components/constants/contracts/MyBitToken'; +import { NODESMITH_WEBSOCKET_PROVIDER } from '../components/constants'; import dayjs from 'dayjs'; import Web3 from 'web3'; const abiDecoder = require('abi-decoder'); @@ -279,9 +280,7 @@ export const getAllContributionsPerDay = async (userAddress, currentDay, timesta new Promise(async (resolve, reject) => { try { debug("fetching all contributions with web3") - // If we try to fetch the logs using Infura (MetaMask's default) it won't work. - // See https://community.infura.io/t/getlogs-error-query-returned-more-than-1000-results/358 - const web3 = new Web3(new Web3.providers.WebsocketProvider(process.env.WEBSOCKET_PROVIDER_MAINNET)); + const web3 = new Web3(new Web3.providers.WebsocketProvider(NODESMITH_WEBSOCKET_PROVIDER)); const tokenSaleContract = new web3.eth.Contract( TokenSale.ABI, TokenSale.ADDRESS, @@ -491,7 +490,7 @@ const resetSocket = async () => { let errorCounter = 0; const subscribeToEvents = async () => { - const provider = new Web3.providers.WebsocketProvider(process.env.WEBSOCKET_PROVIDER_MAINNET); + const provider = new Web3.providers.WebsocketProvider(NODESMITH_WEBSOCKET_PROVIDER); provider.on('error', e => { debug("socket connection error ") debug(e) diff --git a/components/constants/index.js b/components/constants/index.js index c37eebe..5e508f0 100644 --- a/components/constants/index.js +++ b/components/constants/index.js @@ -12,7 +12,7 @@ export const dayInSeconds = 86400; export const periodsPerPage = 25; -export const MyBitTokenSaleAPIEndpoint = 'https://api.mybit.io'; +export const MyBitTokenSaleAPIEndpoint = 'http://localhost:8082'; export const tokenSaleEvents = { fund: '0xd498819977fb9763f29bab6e4eee516c4cf59053922eb6a9fe59370a7bc28b3d', @@ -21,6 +21,8 @@ export const tokenSaleEvents = { export const correctNetwork = 'main'; +export const NODESMITH_WEBSOCKET_PROVIDER = `wss://ethereum.api.nodesmith.io/v1/mainnet/jsonrpc/ws?apiKey=${process.env.NODESMITH_API_KEY}`; + export const BLOCK_NUMBER_CONTRACT_CREATION = 6910971; export const getSecondsUntilNextPeriod = (timestampStartTokenSale) => { diff --git a/components/context/AppInfo.js b/components/context/AppInfo.js index 6d6f800..4e59135 100644 --- a/components/context/AppInfo.js +++ b/components/context/AppInfo.js @@ -6,6 +6,7 @@ import { tokensPerDay, correctNetwork, MyBitTokenSaleAPIEndpoint, + NODESMITH_WEBSOCKET_PROVIDER, } from '../constants/'; import * as Core from '../../apis/core'; import * as TokenSale from '../constants/contracts/TokenSale'; @@ -93,7 +94,7 @@ class AppInfo extends React.Component { //case where user has metamask but is connected to the wrong network, we //still need to load the data properly from the correct network else if(this.props.isMetamaskInstalled && (this.props.network !== correctNetwork)){ - window.web3js = new Web3(new Web3.providers.WebsocketProvider(process.env.WEBSOCKET_PROVIDER_MAINNET)) + window.web3js = new Web3(new Web3.providers.WebsocketProvider(NODESMITH_WEBSOCKET_PROVIDER)) this.loadInfo(); } this.subscribeToEvents(); diff --git a/next.config.js b/next.config.js index e7a4828..853a7ed 100644 --- a/next.config.js +++ b/next.config.js @@ -11,8 +11,7 @@ module.exports = { config.plugins.push( new webpack.DefinePlugin({ 'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV || 'development'), - 'process.env.WEBSOCKET_PROVIDER_ROPSTEN': JSON.stringify(process.env.WEBSOCKET_PROVIDER_ROPSTEN), - 'process.env.WEBSOCKET_PROVIDER_MAINNET': JSON.stringify(process.env.WEBSOCKET_PROVIDER_MAINNET), + 'process.env.NODESMITH_API_KEY': JSON.stringify(process.env.NODESMITH_API_KEY), }), new CompressionPlugin({ asset: "[path].gz[query]", diff --git a/now.json b/now.json index dda8e99..b86b869 100644 --- a/now.json +++ b/now.json @@ -2,7 +2,6 @@ "name": "mybit.io", "version": 1, "env": { - "WEBSOCKET_PROVIDER_ROPSTEN": "@websocket_provider_ropsten", - "WEBSOCKET_PROVIDER_MAINNET": "@websocket_provider_mainnet" + "NODESMITH_API_KEY": "@nodesmith_api_key" } } From 365a993b4230a84af4e5845dfe4d1c9e3fe80b23 Mon Sep 17 00:00:00 2001 From: Cristiano Martins Date: Thu, 26 Sep 2019 20:36:05 -0300 Subject: [PATCH 2/2] reverted API endpoint --- components/constants/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/constants/index.js b/components/constants/index.js index 5e508f0..331c1fc 100644 --- a/components/constants/index.js +++ b/components/constants/index.js @@ -12,7 +12,7 @@ export const dayInSeconds = 86400; export const periodsPerPage = 25; -export const MyBitTokenSaleAPIEndpoint = 'http://localhost:8082'; +export const MyBitTokenSaleAPIEndpoint = 'https://api.mybit.io'; export const tokenSaleEvents = { fund: '0xd498819977fb9763f29bab6e4eee516c4cf59053922eb6a9fe59370a7bc28b3d',