Skip to content
This repository has been archived by the owner on Jan 29, 2019. It is now read-only.

daquinoaldo/COBrA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

COBrA

An Ethereum blockchain university project.

For more information heck the assignments for COBrA and COBrA DAPP and the COBrA DAPP Relationship.

See also the Javadoc.

Requirements

  • Ethereum (geth)
    • Ubuntu:
      • sudo add-apt-repository -y ppa:ethereum/ethereum
      • sudo apt-get update
      • sudo apt-get install ethereum
    • MacOS:
      • brew tap ethereum/ethereum
      • brew install ethereum
    • Compile sources (requires Go):
      • go install github.com/ethereum/go-ethereum/cmd/geth
  • Solidity compiler
    • Ubuntu:
      • sudo add-apt-repository ppa:ethereum/ethereum
      • sudo apt-get update
      • sudo apt-get install solc
    • MacOS:
      • brew tap ethereum/ethereum
      • brew install solidity
    • Build from sources
  • Java 10
  • Apache Maven
    • Ubuntu: sudo apt-get install maven
    • MacOS: sudo brew install maven (requires brew)
    • Binaries

Run

Compile sources

To compile solidity contracts, generate Java contract with web3j and build JARs run bash install.sh.

Ethereum client

Start and Ethereum node on the testnet Ropsten with geth running geth --rpcapi personal,db,eth,net,web3 --rpc --testnet or start an emulated node with ganache-cli.

App

Run the GUI with java -jar DAPP/jar/gui-1.0-jar-with-dependencies.jar. It starts a wizard that allows you to create credentials from your private key, deploy a new catalog or connect to an existent one and choose if you want the author's or the customer's view.

Authors also need a running author-server in which store their content in order to deploy a ContentManagementContract. You can run an author-server with java -jar DAPP/jar/author-server-1.0-jar-with-dependencies.jar -k <your-private-key> -c <existent-catalog-contract-address>.
The contract deploy can be done from the author's GUI, then the GUI can be stopped and the content will remain available as far as the author-server remain online.