All Projects → JoinColony → colonyDapp

JoinColony / colonyDapp

Licence: other
Colony dApp client

Programming Languages

typescript
32286 projects
CSS
56736 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to colonyDapp

dxvote
Governance Dapp of DXdao
Stars: ✭ 28 (-46.15%)
Mutual labels:  dapp, web3
nft-swap-sdk
Ethereum's missing p2p NFT and token swap library for web3 developers. Written in TypeScript. Powered by 0x.
Stars: ✭ 200 (+284.62%)
Mutual labels:  dapp, web3
trystero
🤝 Serverless WebRTC matchmaking for painless P2P — Make any site multiplayer in a few lines — Use BitTorrent, IPFS, or Firebase
Stars: ✭ 512 (+884.62%)
Mutual labels:  dapp, web3
Golden Wallet React Native
Golden - Best Wallet Ever
Stars: ✭ 201 (+286.54%)
Mutual labels:  dapp, web3
zksync-dapp-checkout
zkCheckout — trustable permissionless DeFi payment gateway. Brand new zkSync dApp w/t all L2 perks: fast&cheap transfers / simple&quick withdrawal
Stars: ✭ 37 (-28.85%)
Mutual labels:  dapp, web3
Frame
System-wide Web3 for macOS, Windows and Linux
Stars: ✭ 225 (+332.69%)
Mutual labels:  dapp, web3
airswap-web
AirSwap Web App
Stars: ✭ 94 (+80.77%)
Mutual labels:  dapp, web3
Metamask Mobile
Port of MetaMask Ethereum Ðapp browser for mobile devices (iOS only for now)
Stars: ✭ 119 (+128.85%)
Mutual labels:  dapp, web3
SkyGallery
Create galleries by uploading images and videos. Powered by Sia Skynet.
Stars: ✭ 23 (-55.77%)
Mutual labels:  dapp, web3
nextjs-dapp-starter-ts
A fullstack monorepo template to develop ethereum dapps
Stars: ✭ 228 (+338.46%)
Mutual labels:  dapp, web3
Use Wallet
👛 useWallet() · All-in-one solution to connect a dapp to an Ethereum provider.
Stars: ✭ 182 (+250%)
Mutual labels:  dapp, web3
dtube
Decentralized video sharing & social media platform on Ethereum blockchain.
Stars: ✭ 70 (+34.62%)
Mutual labels:  dapp, web3
Eth Vue
Featured in Awesome Vue [https://github.com/vuejs/awesome-vue], a curated list maintained by vuejs of awesome things related to the Vue.js framework, and Awesome List [https://awesomelists.net/150-Vue.js/3863-Open+Source/18749-DOkwufulueze-eth-vue], this Truffle Box provides everything you need to quickly build Ethereum dApps that have authentication features with vue, including configuration for easy deployment to the Ropsten Network. It's also Gravatar-enabled. Connecting to a running Ganache blockchain network from Truffle is also possible -- for fast development and testing purposes. Built on Truffle 5 and Vue 3, eth-vue uses vuex for state management, vuex-persist for local storage of app state, and vue-router for routing. Authentication functionalities are handled by Smart Contracts running on the Ethereum blockchain.
Stars: ✭ 171 (+228.85%)
Mutual labels:  dapp, web3
Web3swift
Elegant Web3js functionality in Swift. Native ABI parsing and smart contract interactions.
Stars: ✭ 237 (+355.77%)
Mutual labels:  dapp, web3
Ethvtx
🌀🛰 ethereum-ready & framework-agnostic redux store configuration
Stars: ✭ 125 (+140.38%)
Mutual labels:  dapp, web3
erebos
JavaScript client and CLI for Swarm
Stars: ✭ 47 (-9.62%)
Mutual labels:  dapp, web3
Web3 Vs Ethers
A basic cheatsheet of Web3.js vs Ethers (along w/ example apps!)
Stars: ✭ 103 (+98.08%)
Mutual labels:  dapp, web3
Awesome Web3
🚀 A curated list of tools, libs and resources to help you build awesome dapps
Stars: ✭ 104 (+100%)
Mutual labels:  dapp, web3
circles-myxogastria
Webapp and mobile client for Circles
Stars: ✭ 32 (-38.46%)
Mutual labels:  dapp, web3
create-react-native-dapp
Your next Ethereum application starts here. ⚛️ 💪 🦄
Stars: ✭ 410 (+688.46%)
Mutual labels:  dapp, web3

Colony Dapp

Prerequisites

Installation

First, clone this repository :)

Install packages

Pick the right node version (as seen in .nvmrc):

nvm use

Install all dependencies:

npm install

Provision dependent libraries

This project depends on external libraries, so after cloning, they need to be provisioned:

npm run provision

Under the hood, this will initialize the submodules, install their packages, and build them.

Define environment variables

The provision step will set up a .env file for you. It should work right out of the bat. If needed, customize the variables in the .env file to your desires.

Running the light dev environment

npm run dev

This will run a partial dev stack which starts ganache, deploys the contracts, starts a mongodb instance as well as colonyServer and webpack.

The webpack dev server will be available under http://localhost:9090.

You can run some of these individually using the following commands:

npm run ganache
npm run contracts:deploy
npm run webpack

When run individually, some processes might need their own terminal window.

You can also run the whole stack and skip some commands, e.g.:

npm run dev -- --skip-webpack

NOTE: You need to pass in the extra -- as the --skip-<proces> argument will get passed to an npm script, which in turn, will get passed along to a node script. Also a thing to keep in mind that if using yarn, it is not necessary to specify the extra -- for the arguments to get passed through.

Then run webpack individually, if you like:

npm run webpack

Like this you could restart the webpack process in cases of hiccups without restarting the whole stack (that happens!)

Running the heavy dev environment

This version of the dev stack includes all available services that we need for the dApp's development. Besides the ones started by the light dev stack, this mode also adds a graph-node, postgres instance, ipfs node as well as deploying Colony's dev subgraph.

npm run dev:heavy

This is the recommended mode for day-to-day development.

As with the light stack, you can pass along a --skip-<proces> argument to skip certain processes from spinning up. This is most useful for debugging.

Permissions NOTE: When starting the graph-node process we need to perform some folders cleanup in order to ensure that the node is synced up with the current instance of the chain (ganache in this instance).

This requires ROOT permissions since the folder we're removing was generated by docker-compose and is owned by root:root.

You will get a warning in the dev stack orchestration feed when this happens:

Mock Oracle Server Started

Performance NOTE: The heavy stack starts up a number of processes which take a toll on your machine. Just be aware of the fact that it may take a while for your stack to start up, as well as the process pausing during orchestration startup to ask you for root access (see above).

It is advisable to start the heavy stack without webpack and start that in a separate terminal. This is because if something happens with your frontend which needs restart, you won't have to sit through a stack startup again.

When benchmarking this, the full heavy stack startup time took somewhere around 75 seconds, but this was running it on a pretty beefy machine. A standard development laptop might take more time before it's all ready to go.

Mock Oracle Server Started

Verbose logging

Set the environment variable VERBOSE to true to enable verbose mode logging in the browser console.

If you're brave enough to set the DEBUG environment variable, you'll get a lot of logging from modules we're using (e.g. IPFS). To disable this, you'll need to unset the environment variable and then run this in the browser console: localStorage.setItem('debug', undefined);.

Additional services

Reputation

In order for reputation to function within your dev environment, you will need to toggle it on first.

Access the following URL to toggle the reputation monitor auto-mining on or off: http://127.0.01:3001/reputation/monitor/toggle

You can also view the status of the reputation monitor using the following URL: http://127.0.01:3001/reputation/monitor/status

Building the bundle locally

If you want to build the bundle locally for inspection, you can do it via:

npm run webpack:build

Note: It's a straight-up dev build. Just bundled, no code optimizations whatsoever.

Linting

Linting your code via eslint can be done as such:

npm run lint

To lint the project's style sheets you run:

npm run stylelint

Type checking

Type checking using TypeScript can be accessed using this npm script:

npm run typecheck

# Or, with file watching (or any other `tsc optional arguments`)
npm run typecheck --watch

Testing

To run unit tests you have the following npm script:

npm run test

Twemoji graphics made by Twitter and other contributors, licensed under CC-BY 4.0: https://creativecommons.org/licenses/by/4.0/

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].