Giter Site home page Giter Site logo

bitcoinunlimitedweb's Introduction

BitcoinUnlimitedWeb

The Bitcoin Unlimited website, hosted at https://bitcoinunlimited.info

Developing

Getting Started

This is a node.js project requiring the npm package manager.

The following will install and build the project.

git clone [email protected]:BitcoinUnlimited/BitcoinUnlimitedWeb.git
cd BitcoinUnlimitedWeb
npm install
npm run build

This build targets NodeJS versions 6 and 8. Use n and npm to switch between NodeJS versions. npm install -g n.

More info can be found at https://www.npmjs.com/package/n.

To automatically rebuild and restart the server upon changes to src, use both npm run watch and npm run nodemon.

Open http://localhost:8080 to view your website.

Development scripts

  • npm setup: Install, build and start the server.
  • npm start: Start the server
  • npm run build: Build the project into the .dist folder and adds public downloads.
  • npm run downloads: Build or update the BitcoinUnlimitedWebDownloads.
  • npm run watch: Watch the src directory for changes, and rebuild when changed
  • npm run nodemon: Use nodemon to run the server and restart when .dist is changed

Adding a page

To add a page to the website:

  1. Create a react component such as your-new-page.jsx in the src/public/views/pages directory. See src/public/views/pages/index.jsx for an example.
  2. Add your react component to the react-router in src/public/views/main.jsx.

Installing with npm

npm install bitcoin-unlimited-web --save
var BitcoinUnlimitedWeb = require('bitcoin-unlimited-web');

Using the administrator dashboard

Once installed, the administrative dashboard can be used to create blog posts, override static alert banners, manage administrators and store backups of the current database snapshot.

A database revert feature is also available to choose between different database snapshot backups.

Environment configuration

For security purposes update your version .env file:

JWT_SECRET=[yourSecretPassphrase] (required)
DB_NAME=[mainDatabaseName].realm (optional)
DB_AUTH_NAME=[authDatabaseName].realm (optional, but should be changed)
DB_ADMIN_PUBKEY=The pubkey(s) with super admin privileges. The "super" admin can add other pubkeys via the dashboard interface. Separate pubkeys with commas and exclude spaces.
AUTH_EXPIRE=[seconds] (JavaScript Web Token expiration time)
DEBUG=[true or TRUE] (sets the login challenge to 'hello, world')

bitcoinunlimitedweb's People

Contributors

123lee avatar andrewc12 avatar aquentus avatar awemany avatar chriswheeler avatar dagurval avatar digitsu avatar gandrewstone avatar jake--- avatar kunnw0n avatar marcusdiaz avatar patobrien avatar satoshissockpuppet avatar sickpig avatar sinahab avatar soeren-b-c avatar torusjkl avatar trevinhofmann avatar webpronk avatar westonreed avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bitcoinunlimitedweb's Issues

Use React.js

Raw HTML files are difficult to maintain. We could use a preprocessor such as Jade, but this is best suited for static content. To make it easy to add interactivity to the website, I think it would be beneficial to use React.js.

Add BUIP submission and voting

Members should be able to sign and submit BUIPs. They should also be able to sign and submit votes on these BUIPs. The server should automatically validate the signatures for BUIPs and votes.

I18n is not working

There's no way to switch site language nor any kind of auto-detection.

The chinese template need to be updated otherwise you won't be able to get the change the lang even if you do it by hard-coding it.

Use Bower

Bower will allow us to remove dependency files from the repository. Dependencies can be maintained in the bower.json file.

node.js server, components/ directory part?

Hi,

this directory seems to be only served by nginx, is there a way to serve it with the node.js dev server?

EDIT: Ooops, mime-type is not the problem, not serving the parts at all is ...

Use Grunt

Grunt tasks should be used to compile the project.

Issue with numbering in AoF

the numbering in section 2 goes from 2.4 to 2.6. It should be renumbered so that it is properly sequential.

Use Node.js

Organizing the website into a cohesive Node.js project will make the project easy to install, organize meta project information, and give access to tools such as Grunt and Bower.

Update README

The README only contains the project title at the moment. It should have a link to the site, a project description, an installation and development guide, information for contributors, a link to the forums, etc.

[Feature request] Ability for members who wish to identify their Bitcoin addresses as signing keys only

I would like to ask if it's possible to make the 'Bitcoin address' label display as 'BU signing address' when clicking on my name on the "members" page.

Reason:

As a member, I just use my Bitcoin address for signing, and I don't really want to encourage people to donate there. I would like to avoid the impression that my address might be simultaneously intended as a personal donation address.

I know this is an individual choice, and I don't want it to be enforced for others, but for my case I think it would help to avoid mistakes on the part of people who may wish to donate. I would prefer that they donate directly to BU's official donation address in that case.

The best solution would be to have 'BU signing address' be a hyperlink to some page (maybe in FAQ?) that explains how we use Bitcoin addresses for our electronic signatures when voting on BUIPs.

Add tests

Functional and unit tests can assist with continuous integration.

npm run build deletes results of npm run bower

I do have another build system question/remark:

It looks like npm run build deletes the results of npm run bower. (Presumably in the clean step?)

Is there a way to keep the results or let npm run build remake them?

If that's not easily possible, for the node.js noobs like me, it would be great to put that into the documentation/README - that npm run build clears the results of npm run bower.

Thanks :)

Set up, explanation, and maybe fixes on how to use nodemon

Hi,

I am quite unfamiliar nodejs and I tried to dig through the documentation of nodemon to set up automatic monitoring for the files in src/*.js. Using the configuration file in the repo, I wasn't able to run nodemon properly so that it rebuilds everything upon change.

The best result I have so far is fixing nodemon.json to not ignore the src/*.js folder and starting it with:

DEBUG=express:* node node_modules/nodemon/bin/nodemon.js --config nodemon.json --exec \ node_modules/.bin/babel-node src/index.js

This, however, doesn't appear to properly rebuild everything, for example I get an empty page when doing 'rm -rf .dist' and then running the above.

If there is a simple command line to get nodemon to behave, this should be considered an issue with README.md - a simple example on how to set up a dev environment with an automatic file watcher would be great to have in there.

Remove excess files

There are some duplicated and unnecessary files in the project. This clutter should be removed.

Add members' public keys

All members should have their PGP public keys / Bitcoin addresses stored on the server and displayed on the website.

Add Official BU Ubuntu Repository in the download page

s1ckpig recently wrote a post on Reddit about the Official BU Ubuntu Repository for PPA:

This repo wil contain deb packages for BU stable release (as of this writing 0.12.1c).

Initially we are going to support 2 Ubuntu distros 14.04 LTS (trusty) and 16.04 LTS (xenial), 4 arch: i386, amd64, armhf, arm64.

This is the direct link:

https://launchpad.net/~bitcoin-unlimited/+archive/ubuntu/bu-ppa So to install the binaries for your ubuntu system:

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:bitcoin-unlimited/bu-ppa
sudo apt-get update
sudo apt-get install bitcoind bitcoin-qt

We are also providing a repository which will contains debs of the main development branch (0.12.1bu). Same distros and archs will be supported. You could find it here.

It'd be very useful to add them to the download page of the website

Add Donate page

I was looking for a page for donation on the website but it's not there. It would something very useful to maintain the project. Can we do it? I can help

BUIP list on website out of sync with Github repo

The list on the website at this page:

https://www.bitcoinunlimited.info/resources/buips

is out of sync, and I did not find a noticeable link from the voting section to the Github section.

It is problematic that we have this information (BUIPs) duplicated in so many places (forum, github, website, ...) which all need to be kept in sync.

The website list is also specifically wrong about BUIP051 - this one (CI) was renamed to BUIP052 and BUIP051 is now the CompactBlocks BUIP.

BUIPs 053 - 055 are missing on the site.

Use Stylus

A CSS preprocessor will help to organize the site's styles and keep them maintained. Stylus has many useful features and a very simple syntax.

Dashboard UX nit picks

  • it would be great to have a "delete" link next to the edit link in the the list of posts.

  • it would be great to have the app routing to redirect back to dashboard rather than on post create page just after you got a post deleted.

/cc @patobrien

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.