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, first start a clojure repl
lein repl
When a clojure prompt is present, type:
(start-ui!)
The clojurescript repl will appear once you navigate to http:://localhost:6229
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