All Projects → MenloOne → townhall

MenloOne / townhall

Licence: Apache-2.0 license
Deprecated: An early version of the Menlo framework

Programming Languages

javascript
184084 projects - #8 most used programming language
python
139335 projects - #7 most used programming language
shell
77523 projects
CSS
56736 projects

Projects that are alternatives of or similar to townhall

ehr-blockchain
Electronic Health Record (EHR) and Electronic Medical Record (EMR) systems. However, they still face some issues regarding the security of medical records, user ownership of data, data integrity etc. The solution to these issues could be the use of a novel technology, i.e., Blockchain. This technology offers to provide a secure, temper-proof pl…
Stars: ✭ 41 (+95.24%)
Mutual labels:  ipfs, truffle-framework
Lottery-DApp
💰 A block-chain based Lottery System
Stars: ✭ 34 (+61.9%)
Mutual labels:  truffle-framework
geesome-node
🦈 Your self-hosted decentralized Messenger, Social network, Media file storage on top of IPFS! Freely communicate in encrypted chat groups, share images, video, text or any data without a risk of censorship or blocking.
Stars: ✭ 90 (+328.57%)
Mutual labels:  ipfs
go-ipld-eth-import
🌐 Bring Ethereum to IPFS 🌐
Stars: ✭ 24 (+14.29%)
Mutual labels:  ipfs
orbit-db-cli
CLI for orbit-db
Stars: ✭ 60 (+185.71%)
Mutual labels:  ipfs
svelte-box
A truffle box for svelte
Stars: ✭ 60 (+185.71%)
Mutual labels:  truffle-framework
dynamic-data-and-capabilities
[ARCHIVED] Dynamic Data and Capabilities in IPFS Working Group
Stars: ✭ 57 (+171.43%)
Mutual labels:  ipfs
IpfsBox
a full ipfs node on android
Stars: ✭ 18 (-14.29%)
Mutual labels:  ipfs
IPFS-Ethereum-Image
【IPFS + 区块链 系列】 入门篇 - IPFS + Ethereum (下篇)-ipfs + Ethereum 大图片存储
Stars: ✭ 57 (+171.43%)
Mutual labels:  ipfs
pinion
📌Pin orbit-db stores and ipfs hashes
Stars: ✭ 29 (+38.1%)
Mutual labels:  ipfs
Aya
your globally distributed waifu storage
Stars: ✭ 32 (+52.38%)
Mutual labels:  ipfs
ipfs-api-mount
Mount IPFS directory as local FS.
Stars: ✭ 16 (-23.81%)
Mutual labels:  ipfs
nft-market-service
NFT Market service to mint tokens on IPFS
Stars: ✭ 76 (+261.9%)
Mutual labels:  ipfs
qd-messages-ts
No ads, no tracking. Just a lightning fast peer-to-peer cross-platform messenger that doesn’t sell you out.
Stars: ✭ 22 (+4.76%)
Mutual labels:  ipfs
ipfs-pubsub-chatroom
Simple IPFS Pubsub chatroom built on React
Stars: ✭ 45 (+114.29%)
Mutual labels:  ipfs
.com
Digital garden built using Next13, Typescript, and a bunch of goodies
Stars: ✭ 186 (+785.71%)
Mutual labels:  ipfs
go-ipns
Utilities for creating, parsing, and validating IPNS records
Stars: ✭ 35 (+66.67%)
Mutual labels:  ipfs
ipgit
Inter Planetary Git
Stars: ✭ 62 (+195.24%)
Mutual labels:  ipfs
eth-plot
r/place inspired Dapp
Stars: ✭ 36 (+71.43%)
Mutual labels:  ipfs
django-ipfs-storage
IPFS storage backend for Django.
Stars: ✭ 26 (+23.81%)
Mutual labels:  ipfs

Menlo One TownHall has been replaced by Menlo One Expo

Click through to the Expo Github

Use Expo on Kovan

Find out about Menlo: https://www.menlo.one/

(Deprecated)

https://www.menlo.one/#/townhall

Development

To develop and run the town hall locally, install the following prerequisites and dependencies before running the app.

Prerequisites

Brew

We assume brew for package management to install IPFS and other dependencies:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

IPFS

TownHall uses IPFS for storage of messages.

Menlo specific setup of IPFS can be installed and configured via:

    yarn run menlo:setup

Metamask

Metamask or Mist should be used for interacting with the town hall dapp.

Install Metamask extensions into your browser of choice, Chrome or Brave supported: http://metamask.io

Import development chain account

Import this private key into MetaMask for use with truffle develop and Ganache:

    388c684f0ba1ef5017716adb5d21a053ea8e90277d0868337519f97bede61418

import MetaMask

Install app and dependencies

  1. Install nvm and node: brew install nvm && nvm install
  2. Clone the repo: git clone [email protected]:MenloOne/townhall.git
  3. Install dependencies: cd townhall && nvm use && yarn install

Run the application

  1. Run a local dev blockchain in a separate window: yarn run truffle develop
  2. Run IPFS daemon in a separate window: ipfs daemon
  3. Now, deploy the contracts: yarn run truffle deploy --network develop
  4. Run the app: yarn start

Interact with TownHall

A browser window should open after starting: http://localhost:3000/

Ensure you are logged into MetaMask and switch to your imported account.

Set the network in MetaMask to http://127.0.0.1:9545/, add a Custom RPC if that network doesn't already exist:

MetaMaskNetwork

Ganache

For a light, easy to use private chain with a visual and cli interface, try Ganache.

You can deploy and test using network ganache:

yarn run truffle deploy --network ganache

Note: Ganache and truffle develop are transitory. Once you shut them down, you will have to redeploy the contracts and redo any needed transactions.

Integration

For a persistent local testing environment to test before deploying to testnet or mainnet, use a Dev chain with Parity or Geth.

You can set the following environment variables in your local .env file to run against a local dev chain if you already have Parity or Geth configured or set with needed accounts:

- MENLO_TENET_1: Address for first tenet account.
- MENLO_TENET_2: Address for second tenet account.
- MENLO_TENET_3: Address for third tenet account.
- MENLO_POSTER: Address for the account used to interact with town hall.

Parity

To run a private dev chain with Parity, first run a dev chain, setup Menlo accounts, and then deploy contracts.

Install Parity

Installing Parity:

    brew install parity

Run unlocked dev chain

Assuming a default Parity setup, the initial dev account address is static:

   0x00a329c0648769A73afAc7F9381E08FB43dBEA72

You need to unlock your dev account to be able to run Truffle migrations easily. The following script runs parity with an unlocked dev account, it will need to be modified if you've changed the default dev account:

    ./scripts/parity-unlocked-dev.sh

Set up Menlo accounts

Create the needed Menlo accounts:

    yarn run truffle menlo:create-integration-accounts

After running the account creation, a set of accounts will be displayed to add to your .env file.

Add MENLO_TENET_1, MENLO_TENET_2, MENLO_TENET_3, and MENLO_POSTER to you .env.

Deploy Contracts

Once you add the environment variables to your account, rerun parity with the helper script:

    yarn run menlo:parity-dev-chain

Now deploy the contracts, use the integration network defined in truffle.js when using parity.

    yarn run truffle deploy --network integration

Your contracts will live between parity dev runs, you can check the contracts addresses to watch with truffle network.

Browse http://localhost:8180 to interact with the Parity wallet.

Parity has a lot of config and features: Read the effin manual

Subsequent runs

    yarn run menlo:parity-dev-chain

Testing

For testing the TownHall dapp:

  yarn test

For testing the town hall contracts:

  dapp update
  dapp test

Deployment

Set the following environment variables:

      1. MENLO_DEPLOYMENT_KEY:
      2. MENLO_DEPLOYMENT_SERVER:

Deploy to server using shipit:

  yarn run menlo:deploy

Staging and Testnet

Rinkeby & Mist

MetaMask can be used with a Rinkeby account to test against.

The Mist browser can be used to test the Rinkeby testnet.

Mist uses Geth underneath:

    brew install geth

Run Geth against Rinkeby with the Apis needed by Truffle:

    geth --rinkeby --rpc --rpcapi db,eth,net,web3,personal --rpccorsdomain http://localhost:3000

Now, run Mist against your local instance of Geth:

    /Applications/Mist.app/Contents/MacOS/Mist --rpc http://127.0.0.1:8545

Wait for the blocks to sync , (go for a walk and enjoy the sunshine).

After the blocks sycn, note your account hash in the Mist Wallet, you'll need it later.

Close Mist, Stop Geth.

Now, run Geth with the account you noted above unlocked:

    geth --rinkeby --rpc --rpcapi db,eth,net,web3,personal --unlock="0x4B71d4020a69902E6cB1d9a387a03cF0a839d33b" --rpccorsdomain http://localhost:3000

Run Mist again:

    /Applications/Mist.app/Contents/MacOS/Mist --rpc http://127.0.0.1:8545

Now you are ready to deploy contracts and test:

    yarn run truffle deploy --network rinkeby

Go to the faucet to get some free Ether: Rinkeby Faucet

Give your Mist account some TK/MET tokens:

    yarn run truffle console --network rinkeby

Run the Town Hall and browse in Mist to http://localhost:3000.

Kovan

TBD

    parity --chain kovan

Production and Mainnet

...

Overriding the default configuration

This repo uses create-react-app environment variables.

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].