Skip to content

Commit

Permalink
Merge branch 'develop' into staging
Browse files Browse the repository at this point in the history
# Conflicts:
#	app/assets/locales/locale-de.json
#	app/assets/locales/locale-en.json
#	app/assets/locales/locale-es.json
#	app/assets/locales/locale-fr.json
#	app/assets/locales/locale-it.json
#	app/assets/locales/locale-ja.json
#	app/assets/locales/locale-ko.json
#	app/assets/locales/locale-ru.json
#	app/assets/locales/locale-tr.json
#	package.json
  • Loading branch information
sschiessl-bcp committed Jul 1, 2022
2 parents 6314c62 + af09150 commit 0d934a5
Show file tree
Hide file tree
Showing 106 changed files with 12,636 additions and 765 deletions.
5 changes: 4 additions & 1 deletion .github/workflows/npm-build-and-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,10 @@ jobs:
- name: Push to target repository
uses: s0/git-publish-subdir-action@master
env:
REPO: [email protected]:bitshares/${{ secrets.DEPLOYMENT_REPOSITORY }}.git
REPO:
[email protected]:bitshares/${{ secrets.DEPLOYMENT_REPOSITORY }}.git
BRANCH: master
FOLDER: build/hash-history
SSH_PRIVATE_KEY: ${{ secrets.DEPLOYMENT_KEY }}
MESSAGE:
Automatic build of commit https://github.com/bitshares/bitshares-ui/commit/${{ github.sha }}
32 changes: 1 addition & 31 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,37 +1,7 @@
## Funding update September 1st
The BitShares UI worker is not funded, and all bounty rewards must be considered paused.

Please [check here](https://github.com/bitshares/bitshares-ui/issues/3044) for more details and updates.

------

Please work off the develop branch and make pull requests to that branch. The master branch will only be updated for new releases.

The Bitshares UI team is supported by this [worker proposal](https://www.bitshares.foundation/workers/2019-02-bitshares-ui). It provides the funds needed to pay for the development team and the community bounties.

If you would like to get involved, we have a [Telegram chatroom](https://t.me/BitSharesDEX) where you can ask questions and get help. You may also join [BitShares on Discord](https://discord.gg/GsjQfAJ)

## Development process

- We encourage everyoe to participate in issue discussion, especially those that has [not yet been qualified as work](https://github.com/bitshares/bitshares-ui/issues?q=is%3Aopen+is%3Aissue) and [the `Need Discussion` issues](https://github.com/bitshares/bitshares-ui/issues?q=is%3Aissue+is%3Aopen+label%3A%22%5B2%5D+Needs+Discussion%22).
- New issues will be groomed by a project coordinator to set the issue goal and estimated **Quality Hours** of development time.
- After a clarified goal issues will be assigned to the [Active Developent milestone](https://github.com/bitshares/bitshares-ui/milestone/52).
- All non-assigned issues can be found on the the [Active Developent milestone](https://github.com/bitshares/bitshares-ui/milestone/52). or [by filtering the issues list](https://github.com/bitshares/bitshares-ui/issues?q=is%3Aopen+is%3Aissue+milestone%3A%22Active+Development%22+no%3Aassignee).
- Assigned issues will be assigned to a milestone, which will indicate the deadline for the issues.
- Milestones are numbered YYMMDD and indicates the expected delivery.
- Bugs are always worked before enhancements
- Developers should work each issue according to a numbered branch corresponding to the issue `git checkout -b 123`
- We pay **bounties** for issues that have been estimated. An estimated issue is prefixed with a number in brackets like this: `[2] An nasty bug`. In this example, the bug is valued at two **Quality Hours** ($125 per hour). If you fix this issue according to these guidelines and your PR is accepted, this will earn you $250 worth of bitCNY. You must have a Bitshares wallet and a Bitshares account to receive payment.
- Non-code contributions such as translations, documentation work and others may be compensated at a lower hourly rate. This will be clearly stated in the relevant issue.

**IMPORTANT NOTES FOR NEW DEVELOPERS**
- To claim an issue, simply leave a comment with your request to work on it.
- Bounty payment is **Quality Hours**, meaning an experienced developer could complete the task within the assigned hours. Inexperienced users may need more time, to learn the coding standards or practices used on the project, but still receive the same pay.
- To make sure no underpayment for development is made, it is important that if an issue would require more **Quality Hours** time, it should be stated clearly in the issue together with a reason and a new estimate, which also requires an approval.
- If an issue is already claimed (assigned), do not attempt to claim it. Issues claimed by outside developers will have no assigned dev, but have the developers name in brackets.
- Do not claim an issue if you will be unable to complete it by the date indicated on the Milestone name. If extra time is expected, clarify why in the claim. The new estimate will have to be confirmed by a project coordinator.
- If an issue misses the intended milestone completion, be sure to make a comment on your progress including the reason for the delay. The issue is pushed to the next milestone. Failing to comment or complete the issue will result in release of the assigned issue and could result in no bounty pay.
- It's the developers responsibility to read comments on submitted PR to make sure merging is possible and issue is closed, failure to do so may result in no bounty pay.
If you would like to get involved, we have a [Telegram chatroom](https://t.me/BitSharesDEV) where you can ask questions and get help.

## Coding style guideline

Expand Down
258 changes: 124 additions & 134 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,134 +1,124 @@
BitShares-UI
============
[中文版](README_zh.md)

This is the reference wallet of BitShares Blockchain which connects to BitShares Blockchain nodes (*bitshares-core*).

This reference wallet is a browser based wallet, which means *your keys are stored locally* in your browser and *never leaves it* while using the wallet.
You should *never expose your keys to anyone* as transactions are signed locally before transmitting them to a node.

## Getting started

Building BitShares-UI browser based reference wallet depends on node version 10.

On Ubuntu or OSX, the easiest way to install node is to use [Node Version Manager](https://github.com/creationix/nvm).

To install nvm for Ubuntu or OSX, use following commands in terminal using a non-root user:

```
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.30.2/install.sh | bash
nvm install v10
nvm use v10
```

Once you have node installed, clone the repo using the following commands using a non-root user:

```
git clone https://github.com/bitshares/bitshares-ui.git
cd bitshares-ui
```

Before launching the GUI you will need to install the npm packages using a non-root user:

```
npm install
```

## Running the dev server

The dev server uses Express in combination with Webpack.

Once all the packages have been installed you can start the development server by running:

```
npm start
```

Once the compilation is done the GUI will be available in your browser at: `localhost:8080` or `127.0.0.1:8080`. Hot Reloading is enabled so the browser will live update as you edit the source files.

## Testnet

By default bitshares-ui connects to the live BitShares network, but it's very easy to switch it to the testnet run by Xeroc. To do so, open the UI in a browser, go to Settings, then under Access, select the *Public Testnet Server* in the dropdown menu. You should also change the faucet if you need to create an account, the testnet faucet address is https://testnet.bitshares.eu.

The UI will reload and connect to the testnet, where you can use the faucet to create an account and receive an initial sum of test BTS.

![image](https://cloud.githubusercontent.com/assets/6890015/22055747/f8e15e68-dd5c-11e6-84cd-692749b578d8.png)

## Production

If you'd like to host your own wallet somewhere, you should create a production build and host it using NGINX or Apache. In order to create a prod bundle, simply run the following command:

```
npm run build
```

This will create a bundle in the ./build/dist folder that can be hosted with the web server of your choice.

### Installable wallets

We use Electron to provide installable wallets, available for Windows, OSX and Linux Debian platforms such as Ubuntu. First, make sure your local python version is 2.7.x, as a dependency requires this.

On Linux you will need to install the following packages to handle icon generation:

`sudo apt-get install --no-install-recommends -y icnsutils graphicsmagick xz-utils`

For building, each architecture has it's own script that you can use to build your native binary:

__Linux__
`npm run package-deb`
__Windows__
`npm run package-win`
__Mac__
`npm run package-mac`

This will compile the UI with some special modifications for use with Electron, generate installable binaries with Electron and copy the result to the root `build/binaries` folder.

### Docker

Clone this repository, run `docker-compose up` and visit localhost:8080


## Contributing & Coding style guideline

See [CONTRIBUTING.md](CONTRIBUTING.md)

## Code of Conduct

This repository has a Code of Conduct that should be followed by everyone.
Please read [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md)

**Please keep comments constructive and clean**

## BrowserStack

The BitShares UI is integrated with BrowserStack (https://www.browserstack.com) to allow manual compatibility testing across devices and browser versions. In the future we will switch to a automated Selenium testing framework.
![image](https://user-images.githubusercontent.com/33128181/48697885-05f8d880-ebe6-11e8-95a2-d87516cbb3d9.png)

## Release Branches

Development is processed through two week milestones.
There are three branches that forms the current release process.

### Develop

All PRs should be pushed to the `develop` branch. At the end of each milestone this branch is pushed to `staging`.
New commits are automatically deployed to this branch and published for review.

Available for browsing on https://develop.bitshares.org

### Staging (Current Release Candidate)

At the end of each milestone, `develop` branch is pushed to staging and forms the Release Candidate. The date of the RC forms the name, ie. 190214-RC*.

Application breaking issues and bugs should be submitted to the issue tracker and PRs should be pushed to `staging`.

Available for browsing on https://staging.bitshares.org

### Master (stable)

When all issues to the current RC are fixed, `staging` branch is released to the stable `master` branch.

Available for browsing on https://wallet.bitshares.org which is the official reference wallet for Bitshares.



BitShares-UI
============
[中文版](README_zh.md)

This is the reference wallet of BitShares Blockchain which connects to BitShares Blockchain nodes (*bitshares-core*).

This reference wallet is a browser based wallet, which means *your keys are stored locally* in your browser and *never leaves it* while using the wallet.
You should *never expose your keys to anyone* as transactions are signed locally before transmitting them to a node.

## Getting started

Building BitShares-UI browser based reference wallet depends on node version 16 using a non-root user.

On Ubuntu or macOS, the easiest way to install node is to use [Node Version Manager](https://github.com/creationix/nvm).

Install nvm according to your platforms recommendation and set the version

```
nvm install v16
nvm use v16
```

Once you have node installed, clone the repository using the following commands:

```
git clone https://github.com/bitshares/bitshares-ui.git
cd bitshares-ui
```

Before launching the UI you will need to install the packages using yarn on a non-root user:

```
yarn install
```

## Running the dev server

Once all the packages have been installed you can start the development
server by running:

```
yarn start
```

Once the compilation is done the UI will be available in your browser at:
`localhost:8080` or `127.0.0.1:8080`. Hot Reloading is enabled so the browser
will live update as you edit the source files.

## Testnet

By default bitshares-ui connects to the BitShares mainnet,
but it's very easy to switch it to the testnet.
To do so, open the UI in a browser, go to Settings, then
under Nodes, select the *Testnet* in the dropdown menu.
The UI will reload and connect to the testnet.

There is also a ready-made deployment directly connected to testnet
including account creation available [here](https://test.xbts.io/).

![image](https://user-images.githubusercontent.com/33128181/175760811-736c9b21-9122-4160-bd30-465bb755a3a3.png)

## Production

If you'd like to host your own UI somewhere, you should create a production
build and host it using NGINX or Apache.
In order to create a prod bundle, simply run the following command:

```
yarn run build
```

This will create a bundle in the ./build/dist folder that can be hosted with the web server of your choice.

### Installable (local wallet)

We use Electron to provide installable wallets, available for Windows, macOS and Linux Debian platforms such as Ubuntu.
There is a [GitHub Action available](https://github.com/bitshares/bitshares-ui/blob/master/.github/workflows/build-release-binaries.yml#L18) that shows all the steps necessary for this build.

This will compile the UI with some special modifications for use with Electron, generate installable binaries with Electron and copy the result to the root `build/binaries` folder.

### Docker

Clone this repository, run `docker-compose up` and visit localhost:8080

## Contributing & Coding style guideline

See [CONTRIBUTING.md](CONTRIBUTING.md)

## Code of Conduct

This repository has a Code of Conduct that should be followed by everyone.
Please read [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md)

**Please keep comments constructive and clean**

## BrowserStack

The BitShares UI is integrated with BrowserStack (https://www.browserstack.com) to allow manual compatibility testing across devices and browser versions. In the future we will switch to a automated Selenium testing framework.
![image](https://user-images.githubusercontent.com/33128181/48697885-05f8d880-ebe6-11e8-95a2-d87516cbb3d9.png)

## Release Branches

There are three branches that forms the current release process.

### Develop

All PRs should be pushed to the `develop` branch.
New commits are automatically deployed to this branch and published for review.

Available for browsing on https://develop.bitshares.org

### Staging (Current Release Candidate)

At the end of each milestone, `develop` branch is pushed to staging and forms the Release Candidate. The date of the RC forms the name, ie. `5.0.220214-rc1`.

Application breaking issues and bugs should be submitted to the issue tracker and PRs should be pushed to `staging`.

Available for browsing on https://staging.bitshares.org

### Master (stable)

When all major issues to the current RC are fixed, `staging` branch is released to the stable `master` branch.

Available for browsing on https://wallet.bitshares.org which is the official reference wallet for Bitshares.
Loading

0 comments on commit 0d934a5

Please sign in to comment.