===== Overview ===== What it takes to get Hyperledger Fabric running on current Fedora. ===== Required packages ===== According to [[https://courses.edx.org/courses/course-v1:LinuxFoundationX+LFS171x+3T2017/courseware/de3cd32bdd2049489697083e6ae153a0/52a4605bb8854716aac80b10bc7567c7/?child=first|this page]], we need this as a starting point: * cURL * Node.js * npm package manager * Go * Docker * Docker Compose With respect to Fedora, that means: $ sudo dnf install curl $ sudo dnf install nodejs $ sudo dnf install npm $ sudo dnf install golang $ sudo dnf install docker-ce docker-compose Note that, on Ubuntu, installing ''nodejs'' automatically installs ''npm'' whereas, on Fedora, you need to install ''npm'' explicitly. But we're not done. If you want to build the documentation (depending on the type of documentation), you'll need: $ sudo dnf install python3-sphinx $ sudo dnf install python3-recommonmark (what is this for?) $ sudo dnf install latexmk (for "make latexpdf") $ sudo dnf install python3-sphinx_rtd_theme (read the docs) A little more obscure -- if you want to build ''cryptogen'', you'll need: $ sudo dnf install libtool-ltdl-devel If you want to use ''git review'' for submitting patches to Gerrit: $ sudo dnf install git-review ===== Docker ===== * ''systemctl start docker'' * Add yourself to the ''docker'' group (log out, log in again, run ''id'' to verify you're in that group) * ''docker run hello-world'' ===== Fabric Samples ===== Under ''~/go/src/github.com/hyperledger/'', use ''ssh'' to copy over commit-msg hook and be able to push back to Gerrit: [remote "origin"] url = ssh://rpjday@gerrit.hyperledger.org:29418/fabric-samples fetch = +refs/heads/*:refs/remotes/origin/* ===== Build Your First Network ===== ==== Upcoming cleanup ==== * Add links to things like SOLO ordering service. * Standardize on "---" em dashes. ==== Prerequisites ==== Make sure platform-specific binaries are in the search path; unload them directly in ''fabric-samples'' directory. ==== The tutorial ==== $ cd first-network $ ./byfn.sh generate $ ./byfn.sh up $ ./byfn.sh down ===== Writing Your First Application =====