Skip to content

Notes for Circle Team

Constance Shi edited this page Dec 24, 2020 · 7 revisions

WIP

Performance of Accounts, Transaction Pages

Our accounts/transaction pages on Ethereum uses binary search and makes repeated calls to web3. This can take a (very) long time, and is likely unacceptable in the context of user experience. It may be optimized by tweaking parameters or by fetching and caching the data via a backend. It might also be solved by switching queries from Web3 to Google BigQuery instead

Google BigQuery Limitations

Currently, we fetch minters from the Google BigQuery dataset for Ethereum Mainnet. However, there is currently no support for Ropsten or other nets for the same data. As of now, we've hidden information that we can't query for, but it is a possible feature in the future if the data becomes available.

Age not shown for Algorand pages

Currently, the transaction tables on the /algorand/** pages don't show the age of transactions. Our API endpoints, which use Purestake, did not provide the age in their transactions responses, and querying a separate transaction call for each transaction was far too expensive, especially since Purestake limits queries to either 5 requests/min or 1 request/min depending on the specific API queried. We did not get the chance to exploring alternative options, so there may also be other solutions.

No support for testnet on Algorand pages

Currently, the /algorand/** pages only show content for the mainnet ledger, and there is no support to "switch" to testnet at the moment. To do this, you can change the subdomain of the base server that we use for our api calls in algorand-rest.js to https://testent-algorand.api.purestake.io. To have support for both ledgers, we were thinking of adding an environment variable that provides the ledger (mainnet vs testnet).

Clone this wiki locally