blockstack / blockstack-browser
- четверг, 25 мая 2017 г. в 03:12:39
JavaScript
The Blockstack Browser Portal
The Blockstack Browser Portal allows you to explore the Blockstack internet.
Blockstack Portal requires a local instance of Blockstack Core to run. To get started, first install Blockstack Core and then proceed with the installation of Blockstack Portal.
Blockstack for macOS contains a Blockstack Core API endpoint & a CORS proxy.
Please note these instructions have only been tested on macOS 10.12.4.
git clone https://github.com/blockstack/blockstack-portal.git
npm install
npm run dev
blockstack setup
. You will be prompted to select a wallet password. Skip this step if you already have a Core walletblockstack api start --api_password <core-api-password> --password <wallet-password>
where <core-api-password>
is a String value you select and <wallet-password>
is the wallet password you selected previously.http://localhost:6270/v1/names/blockstack.id
to see if it returns a response.git clone https://github.com/blockstack/blockstack-portal.git
npm install
npm run dev-proxy
to start the CORS proxynpm run dev
Note: npm dev runs a BrowserSync process that watches the assets in /app
, then builds them and places them in /build
, and in turn serves them up on port 3000. When changes are made to the original files, they are rebuilt and re-synced to the browser frames you have open.
brew install openssl --build-bottle
hg
installed by running brew install hg
npm install nexe -g
to install the "node to native" binary tool globallynpm run mac
to build a debug release signed with your Mac Developer certificateNote: You only need to run nexe
once but the first build will take a while as nexe
downloads and compiles a source copy of node. Then it creates and copies the needed proxy binaries into place and copies a built version of the browser web app into the source tree.
Note: This has only been tested on macOS Sierra 10.12.4
npm run web
We do project-wide sprints every two weeks and we're always looking for more help.
If you'd like to contribute, head to the contributing guidelines. Inside you'll find directions for opening issues, coding standards, and notes on development.
The Portal uses log4js
for logging. The macOS app uses macOS's unified logging
API, os_log
for logging.
On macOS, the Portal sends log events to the macOS
app's log server. These are then included in macOS's unified logging API. You
can view logs by starting Console.app
. Set up a filter the Blockstack
process
to only see Blockstack logs. If you'd like to see more detail, in enable inclusion
of Info and Debug messages in the Action menu.
Blockstack logs are included in macOS's unified logging system. This allows us to easily collect a large amount of information about the user's system when we need to troubleshoot a problem while protecting their privacy.
/private/var/tmp
sysdiagnose_DATE_TIME.tar.gz
file to your friendly developers.The most important file in this archive is system_logs.logarchive
, which will
include recent system logs including Blockstack's logs. You can open it on
a Mac using Console.app
. The other files include information about your computer
that may help in diagnosing problems.
If you're worried about inadvertently sending some private information,
you can select the log entries you'd like to send inside Console.app
and copy
them into an email or github issue.
More technical users (with admin permission) can use the sysdiagnose
command
to generate a custom dump of information.
This app uses the latest versions of the following libraries:
Along with many Gulp libraries (these can be seen in either package.json
, or at the top of each task in /gulp/tasks/
).
npm run dev
or npm run build
at least once, run npm run build
tests/
directory with the npm run test
command-f
flag: npm run test -f <PATH_TO_TEST_FILE>
PATH_TO_TEST_FILE
, it is possible to omit the tests/
prefix, as well as the .test.js
suffix. They will be automatically added if not detected.Note: When running tests, code coverage will be automatically calculated and output to an HTML file using the Istanbul library. These files can be seen in the generated coverage/
directory.