Repository for ethlance.com
Ethlance is the first job market platform written in ClojureScript and Solidity working completely on the Ethereum blockchain with 0% service fees.
Ethereum Smart Contracts are at /resources/public/contracts/src
.
- Download the Mist Browser
- Wait for blockchain to download
- Fund with Ether
- Go on Ethlance
Following instructions assume you're familiar with the Clojure programming language and have lein installed on your machine.
To start autocompiling smart contracts (requires solc installed):
lein auto compile-solidity
Start testrpc
testrpc --port 8549
Start Clojurescript browser REPL
lein repl
(require 'figwheel-sidecar.repl-api)
(figwheel-sidecar.repl-api/start-figwheel! (figwheel-sidecar.config/fetch-config))
(figwheel-sidecar.repl-api/cljs-repl)
See ethlance.el
on how to run the above commands in Emacs via ethlance-jack-in
and ethlance-start
.
Make sure in ethlance.db/default-db you have the following configuration:
:load-node-addresses? true
:node-url "http://localhost:8549"
Visit localhost:6229 in your browser without MetaMask. I use the Chrome Incognito window.
To redeploy all smart contracts, run the following in REPL.
(in-ns 'ethlance.events)
(dispatch [:reinitialize])
After you see in browser console all contracts have been deployed, refresh the page.
To redeploy only single or few specific smart contracts run:
;; Redeploys and hot swaps EthlanceUser smart contract. No need to refresh page.
(dispatch [:reinitialize [:ethlance-user]])
To build advanced compilation run:
lein clean && lein cljsbuild once min
Anyone is welcome to contribute to the ethlance project, here are some brief guidelines:
- Squash commits
- Reference issue numbers in your pull request
- Rebase your changes on upstream (
git remote add upstream https://github.com/madvas/ethlance.git
) master before pushing (git pull --rebase upstream master
) - Make changes in a separate well-named branch in your forked repo like
improve-readme