• Stars
    star
    138
  • Rank 264,508 (Top 6 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created almost 10 years ago
  • Updated over 8 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Boilerplate meteor dapp - starting point for meteor dapps using bootstrap

meteor-dapp-boilerplate

A starting point for decentralized MeteorJS applications. Includes Ethereum.js, iron-router, Bootstrap 3, Font Awesome, LESS and more.

**Based off of Differential's meteor-boilerplate and Ethereum's meteor-dapp-wallet. Please note that this boilerplate is still in Alpha.

Included Packages

Hosted Alpha

http://meteor-dapp-boilerplate.meteor.com

Installation

Clone this repo

$ git clone http://github.com/SilentCicero/meteor-dapp-boilerplate

Create an account with geth (create a passphrase):

$ geth account new

Start a local geth node instace (then hit 'enter' to promt passphrase input):

$ geth --rpc --rpcaddr="0.0.0.0" --rpccorsdomain="*" --mine --unlock=0 --verbosity=5 --maxpeers=0 --minerthreads="4"

Start the app using Meteor

$ cd meteor-dapp-boilerplate/app
$ meteor

File Structure

This file structure is largley based off of Differentials boilerplate, but with client-only directories. Client-only files are stored in the client directory. The public directory is for publicly accessible assets such as images and fonts. The i18n directory is for language files.

Bootstrap and LESS

The majority of Bootstrap can be customized with LESS variables. If you look in client/stylesheets/base/lib/bootstrap/variables.import.less you will see a slew of configuration variables that can be tweaked to drastically change the look and feel of your site without having to write a single line of CSS.

However we should avoid modifying the core Bootstrap Less files (in case we want to update them later), and should instead override the variables in our own LESS files.

For example, to change the color of all primary buttons and links, simply add a @brand-primary variable to stylesheets/base/variables.import.less:

// variables.import.less
@brand-primary: #DC681D;

If you'd like to override a feature of Bootstrap that can't be modified using variables, simply create a new file in the client/stylesheets/components directory named after the corresponding Bootstrap component (eg. buttons in this case), and make your changes there.

// buttons.import.less
.btn {
  text-transform: uppercase;
}

After your file is ready, you need to import it into client/stylesheets/base/global.less. So, you would add in this statement:

@import '@{components}/buttons.import.less';

The reason that this is done is to avoid any issues when the LESS files are compiled into CSS. That way, if one component relies on another or you want a certain order for your components, you can avoid any issues.

Favicons and Touch Icons

Upload your image to http://realfavicongenerator.net/ and place the resulting images in public/images/favicons

Private Network

If you would like to test your dApp with a local private Ethereum node, a test-genesis.json file is provided in the app folder. This is an example command line to run your own private network:

$ geth --rpc --rpccorsdomain "*" --genesis test-genesis.json --networkid 1234 --mine --unlock 0

Unit Testing

All tests are stored in the app/tests directory. By default the Mocha testing framework is not installed, but some example tests are provided with this boilerplate. In order to activate Mocha/Velocity you must edit app/.meteor/packages and uncomment #mike:mocha to mike:mocha. A testing button will appear on the top right hand corner of your dApp. Remember to remove the mocha package for deployment and production.

Add Mocha/Velocity

$ meteor add mike:mocha

Remove Mocha/Velocity

$ meteor remove mike:mocha

Please refer to this page for more on unit testing in Meteor: https://velocity.readme.io/

License

Released under the MIT License, see LICENSE file.

More Repositories

1

ethereumjs-accounts

A simple module for creating, managing and using Ethereum accounts in browser.
JavaScript
152
star
2

ipfs-mini

A super tiny module for querying IPFS that works in the browser and node.
JavaScript
149
star
3

react-dapp-boilerplate

A highly standardized and optimized react dApp boilerplate.
JavaScript
122
star
4

ethdeploy

A complex deployment facility for Ethereum smart-contract development.
JavaScript
46
star
5

throw-down

life cycle hooks for pure DOM elements
JavaScript
40
star
6

ethereum-wallet-management

Pro-tips for Ethereum wallet management (Gitbook).
37
star
7

solint

A linting utility for Ethereum solidity smart-contracts
JavaScript
36
star
8

wafr

A super simple Solidity test harness for Ethereum smart-contracts.
JavaScript
30
star
9

ethjs-extras

All your dApp / App essentials for working with Ethereum.
JavaScript
18
star
10

yoyo-bootstrap

a yoyo version of the bootstrap visual framework
JavaScript
18
star
11

meteor-dapp-pricefeed

Meteor dapp for operating price feeds on Ethereum.
HTML
18
star
12

hyperapp-styled-components

styled-components for hyperapp in under 3kb
JavaScript
17
star
13

solidity-to-abi

Converts an Ethereum smart-contract solidity method interface string to a web3 ABI interface object.
JavaScript
8
star
14

meteor-solc

The solc package provides a Solidity compiler build plugin for the Meteor build tool.
JavaScript
8
star
15

ethnames

A micro-service which enables anyone to get an ENS name for free.
JavaScript
7
star
16

merklio

Merkl.io -- a free merkle-based notarization API micro-service for the Ethereum blockchain.
JavaScript
7
star
17

redux-contract

A higher order web3 contract decorator for dApps using redux
JavaScript
6
star
18

meteor-dapp-builder

A dApp builder.
JavaScript
5
star
19

meteoreth

A simple module for running meteor dApps with Ethereum
JavaScript
5
star
20

number-to-bn

Converts a number to a BN.js object, throw if invalid number.
JavaScript
5
star
21

web3-network-detective

A simple module to determine if your provider is on the mainnet or testnet.
JavaScript
5
star
22

csjs-loader

A csjs loader for webpack
JavaScript
4
star
23

meteor-package-ipfsapi

The IPFS api wrapped as a MeteorJS package.
JavaScript
4
star
24

metapool

Meta-transaction relay system based on a Single-Contract approve and EIP712 release model
JavaScript
4
star
25

yulit

Yul IDE for the Browser
JavaScript
3
star
26

Ethereum

Ethereum Projects
3
star
27

ensverify

An Ethereum name verification micro-service API that allows for a secondary source of proof for ENS name reduction (i.e. two-factor for ENS)
HTML
3
star
28

ethtoolbox

EthToolBox - Ethereum tools for the cool kids only.
JavaScript
3
star
29

strip-hex-prefix

A simple module to strip the hex prefix off a string, if a valid hex prefix is present.
JavaScript
3
star
30

language-yulp

Yul+ language support in Atom
2
star
31

LocalStore

A wrapper for localStorage, which will use chrome.storage if used in a chrome packaged app.
JavaScript
2
star
32

meteor-package-testrpc

Fast Ethereum RPC client for testing and development wrapped for Meteor =D
JavaScript
2
star
33

ethdeploy-cli

A CLI for the ethdeploy Ethereum smart-contract deployment staging utility.
JavaScript
2
star
34

ethdeploy-provider-zero-client

A zero client Web3 standard provider for ethdeploy
JavaScript
1
star
35

meteor-pocketbook

A mini-wallet for meteor dApps
JavaScript
1
star
36

meteor-solc-compiler

The solc compiler wrapped for MeteorJS
JavaScript
1
star
37

is-hex-prefixed

A simple is hex prefixed method to check if a string is hex prefixed.
JavaScript
1
star
38

buidler-boilerplate

Typescript / Buidler / Linked LIbrary and Workflow boilerplate for Ethereum Development
TypeScript
1
star