chatch / stellarexplorer Goto Github PK
View Code? Open in Web Editor NEWLedger Explorer for the Stellar Network ๐
Home Page: https://steexp.com
License: Apache License 2.0
Ledger Explorer for the Stellar Network ๐
Home Page: https://steexp.com
License: Apache License 2.0
For example https://testnet.steexp.com/tx/bd6c61c45159406ba81f7171bb03f11b9df8ae94f8cab583643a8c72ff4b0756 and the SetOptions operation 17930930115055619.
The hash should not link to an account view. Just display the short form of the hash with full version revealed on mouse hover.
Some pretty crazy formatting, wrapping, etc. when I view it on a standard sized android mobile.
Ensure everything fits neatly. Avoid scrolling etc.
For examle try load an account that does not exist: /account/
Spinner spins forever instead of displaying the error page.
The offline first caching is really agressive. On my mobile reloading the page doesn't pick up the new version of the site.
See here some guidelines on notifying users and triggering download of latest version:
Currently i'm deriving the operation time from the transaction time which requires a server call to grab this. One for each distinct transaction in the operations list. From memory this was because the time was not available in the record however looking at operations it is now there under 'created_at'.
For example the link: [/account/myacc*stellar.network#flags] would load the accounts page and focus on the flags tab rather then the first tab.
Travis build is currently failing due to warnings coming out of processing the dependent module 'stellar-base' and it's dependency 'bindings':
Critical dependencies:
76:22-40 the request of a dependency is an expression
76:43-53 the request of a dependency is an expression
Suppress it by using CI=false before the 'npm run build' line. This feature has just recently been enabled in create-react-app so apply this after upgrading (see #1)
Decode so the actual values (ie. sha256 hash and transaction hash respectively) are displayed.
i can push zh-tw language in the project.
see outstanding horizon issue to do with missing data in the /account/<pub address>/trades resource: stellar/go#451
fix that issue first then can add the trades tab to steexp.
For example:
testnet.steexp.com/ledger/12345
Change on all views where this link is displayed:
payment operation
offer operations
balance list on account
Figure out why it's failing with node 8.
node 8 has been commented out for now : 25e28f1
Uncompressed the full distribution with required dependencies is 1.45MB.
Try get this down a bit by analysing the bundled dependencies.
We shouldn't need to redeploy the app whenever this metadata changes or when a new anchor launches.
Serve these files from somewhere or just make available on a seperate github project that can be fetched from the app ...
It might makes sense to generate most of this from a script that parses the server.toml files ... Have a script that runs periodically and checks if data has changed too.
There are a few but do an audit.
For example:
display the base64 decoded hash on the transaction view
Render /payments list on it's own view.
Add a top level view of /effects.
Render the effects table better. Currently it's ugly with some raw data.
Streams on the home page work fine for a while and then after a period of about 10 minutes there are repeated failures trying to get a new stream.
Needs investigation as I couldn't figure out what was happening when I saw it.
For now I'm putting a timeout on streams where they will be disabled after 3 minutes. A page reload will restart them.
If an entity not found error is returned from the remote server then redirect to the 404 page otherwise log the error and/or display it to the screen and stay on the page the error occured on. Currently it's redirecting all server errors to the 404 page.
Currently can search by public account address but it would be nice to search by federated address also.
Currently anchors list supports just one account per anchor.
Rearrange so we can attach and identify both issuer and distributer.
Account page for each should show the anchor logo.
Anchor page shows the issuer or both issuer and distribution account addresses.
eg. "RippleFox" instead of "GARE..."
use lib/Anchors.json file
Currently reads like this "Trust Mobius issuing MOBIAuthorize true" for authorize=true and just "MOBIAuthorize" for the end part when false.
There should be space between asset code and authorize. Additionally that authorize is set to true or false should be clearer.
Change to read like this:
"Trust Mobius issuing MOBI [authorize: true]"
"Trust Mobius issuing MOBI [authorize: false]"
Link to account page for the inflation pool address
Check they show up on the account pages
Use stream() https://stellar.github.io/js-stellar-sdk/CallBuilder.html#stream instead of periodic reloads.
memo type is already there but the actual memo is not.
Backend options:
Also consider using somehting like this to detect the country and change on first load (Eg. set china users to wancloud):
https://www.npmjs.com/package/geoip-country
It can be seen inside the linked JSON but should at least display the 4 char shortened form of the trustor account with a link.
original suggestion here: https://galactictalk.org/d/473-stellar-explorer/11
this will ensure consistent behavior across browsers and settings.
but still give the option to save to file or copy to clipboard.
If dependencies are installed with "npm install" the tests run fine.
However if installed with "yarn install" they will fail with module resolution failures:
======================================================================
Cannot find module 'stellar-base' from 'account_response.js'
at Resolver.resolveModule (node_modules/jest-resolve/build/index.js:179:17)
at Object.<anonymous> (node_modules/stellar-sdk/lib/account_response.js:13:19)
FAIL src/lib/tests/utils.test.js
โ Test suite failed to run
Cannot find module 'stellar-base' from 'account_response.js'
at Resolver.resolveModule (node_modules/jest-resolve/build/index.js:179:17)
at Object.<anonymous> (node_modules/stellar-sdk/lib/account_response.js:13:19)
=====================================================================
It's not clear to me why this is as "stellar-base" is there under node_modules and require("stellar-base") statement seems fine.
Take a look at jest code and issues ...
Build the list from the stellarterm directory.
List /trades in a new top level view
List trades for account in a new tab on account view
Support OpenSearch
Support URIs like /search/<my search string>
Add manifest.json
Set icon, theme colors, etc.
Go through the progressive webapp checklist and setup everything
Test with Lighthouse npm script
Test on mobile devices
It would be nice to indicate the sync is happening whilst it's happing and to flag the data shown is stale.
Maybe a green light / red light sitting in the panel header.
Because if you load the page for the first time after a couple of days it will show data from a couple of days ago as if it's fresh. Then if you wait a few seconds it will rerender with the latest data. But there is not indication that is what is happening.
i like the one on etherscan.io which just a single line of text with a small icon.
Run the lighthouse report against the site. There are a quite a few things that can be improved including performance hacks and progressive web app tweaks.
Where ever there are relative times (eg. "3 minutes ago") use the title attribute to show the source time.
Visually: tables are easier to read. Each row is seperated by a line so it's easy to scan across.
Consistency: Transactions and Ledger are displayed inside table.
Responsive: Table components resize better.
Upgrading to 1.0.0 breaks the production build (npm run build):
Module not found: Error: Can't resolve 'babel-runtime/helpers/interop-require' in '/home/hatch/projects/stellar/graph/node_modules/js-xdr/lib'
The following code in js-xdr/lib/*.js files is probably where this issue is:
var _interopRequire = require('babel-runtime/helpers/interop-require')[
'default'
]
State is updated on switch, the logic waits for the state update to be re-rendered (this is first visible reload) before then initiating a page reload (which is the second visible reload).
Language switcher - this doesn't need to reload the page at all, it's sufficient to update the state and everything will rerender in the new language accordingly
Network switcher - this does need to reload in order to switch domains (steexp.com <---> testnet.steexp.com) however it doesn't need to wait for a rerender from state update. So change the logic to setState then immediately invoke a page reload.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.