0.0.10 • Public • Published


    IMPORTANT: This is a proof of concept prototype and shouldn't be used in production

    For fast development of DApps a package management is needed. Spore is a Proof of Concept prototype for a such package manager build on top of truffle, ethereum and ipfs.

    Any form on Feedback and contribution is highly wellcome.


    Make sure you have node v4+ installed:

    $ node --version

    Install Spore:

    npm i -g eth-spore

    On your first run spore will guide you trough a eth-rpc and ipfs configuration.

    Currently it is optimized for truffle, you may want to install truffle as well:

    npm -g i truffle

    For full decentral usage:


    $ spore --help
    Simple package management for Ethereum
      spore init
      spore upgrade
      spore publish 
      spore add       <path>
      spore link
      spore info     [<package>]
      spore install  [<package>]
      spore clone     <package>
      spore uninstall <package>
      spore remote list
      spore remote select <name>
      spore remote add    <name>
      spore remote remove <name>
      spore update
      spore search <string>
      spore instance add <package> <address> [--contract <contract>]
      spore instance list <package>
      <package>                    Package name or hash
      <path>                       path to file/ directory
      <name>                       rpc settings name
      -v, --version                Shows the version of spore
      -h, --help                   Shows this help screen
      --verbose                    Shows interlal logs


    (Decentral version on IPFS will follow shortly)


    Create a new project:

    mkdir mypackage 
    cd mypackage
    truffle init
    spore init

    this will create a spore.json in your root project directory:

      "name": "mypackage",
      "version": "0.1.0",
      "description": "description",
      "dependencies": {},
      "contracts": [],
      "ignore": [],
      "files": [],
      "tags": []

    install a dependency:

    spore install mortal

    import dependency to your contract: contracts/mcontract.sol

    import "mortal";
    contract mycontract is mortal {

    link the dependencies:

    spore link

    add some files:

    spore add contracts/mycontract.sol
    spore add

    publish the package:

    spore publish

    Now you can install the package mypackage along with it's dependencies in another project via:

    spore install mypackage

    Beginner Turorial

    How to write a coin tutorial with truffle and spore

    API documentation

    Read the Full API Documentation here.

    Development - Installation

    This will guide you trough a local development installation. The contract is not deployed on a global chain, yet.

    Make sure you have node v4+ installed:

    $ node --version

    Make sure you have solidity installed:

    $ solc --version
    solc, the solidity compiler commandline interface
    Version: 0.1.1-ed7a8a35/Release-Darwin/clang/JIT

    Install eth-testrpc for testing/ dev purposes. pip install eth-testrpc

    Install truffle. npm install -g truffle

    Install ipfs.

    clone this repo: git clone


    cd spore
    npm install
    npm link

    Run your rpc client( In this case testrpc testrpc )

    Deploy the spore ethereum contract with: truffle deploy


    Run a local chain: testrpc

    Deploy the contract: truffle deploy

    Run the test: mocha test

    How it works

    This Ethereum contract has a name => ipfs-hash mapping and some functionallity to access and manipulate it.

    The ipfs-hash is pointing to a package-header which specified by this json schema. An example header for spore is:

      "name": "spore",
      "version": "0.1.0",
      "description": "Simple package manager for dapp development.",
      "dependencies": {},
      "contracts": [
      "ignore": [],
      "files": [
      "tags": [
        "package manager"

    The dependencies property contains packages with their ipfs header file. The root property points to a ipfs directory node which contains the package files.



    npm i eth-spore

    DownloadsWeekly Downloads






    Last publish


    • mhhf