How to Seed for DCT

As a seeder you can help the community by storing and distributing content and its particular decryption keys. To become a seeder all you need is to have decentd binary running and to be chosen by a publisher.

Every seeder has following possibilities:

  • Store content - when you are selected by uploader the seeding plugin automatically downloads the content.
  • Provide part of the decryption key.
  • Receive payment (you set how much you want to get for storing 1 MB per day and you receive the payment on a daily basis).

Becoming a Seeder

The next steps will guide you through the process, after which you will become a DCore seeder. Please, follow them carefully.


Find the IPFS binary, and change your current working directory to the directory where it is located. If you are running IPFS binary for the first time, initialize IPFS local configuration by executing the command:

./ipfs init
  • Optionally start the “screen”, so IPFS keeps running when terminal is closed.
  • Start IPFS daemon manually:
./ipfs daemon
  • Locate decentd binary and switch to the directory where it is located.
  • Optionally start the “screen”, so decentd keeps running when terminal is closed.
  • Start decentd by command:
  • Start CLI Wallet binary in other terminal from the directory where binary is present:
  • In the wallet, generate your unique content (ElGamal) key and retrieve your account information:
>>> generate_el_gamal_keys
  "private_key": "9929825202538904525106109715118390731307867060424773269806671642582808014388431220063738899822276719239811537373767212483489421362837444007489350876354517.",
  "public_key": "3648917272837948840111820214699156582057756326092170692394831096647015694006097575449253578125567465803655043496246107225444630380402263661429117826904742."
>>> get_account_id <accountname>
get_account_id <accountname>
  • You will need the private_key and the account id returned from generate_el_gamal_keys and get_account_id call respectively.

Start Seeding Plugin

Seeding plugin is responsible for automatic announcing of seeder's capability, downloading and seeding content and distributing encryption keys. In order to enable it, follow the next steps.

Start Seeding Plugin Directly by Setting Specific decentd Parameters

  • Close the CLI Wallet and decentd binaries and then run decentd binary with the following arguments:
--seeder - Your account id, retrieved in previous step.
--content-private-key - The ElGamal private key generated in the previous step.
--seeder-private-key - The private key of your account (private_wif_key).
--free-space - Space allocated for seeding.
--packages-path - The path to the folder in which you will hold packages.
--seeding-price - How much will be received for each MB of shared data per day, in DCT.
--seeding-symbol - Seeding price asset, e.g. in DCT (by default) or in USD.
--region-code - Optional ISO 3166-1 alpha-2 two-letter region code.

By setting parameters you will present yourself to others, e.g. content publishers who can choose seeder to seed their content based on their criteria themself. To update any of parameters (required or optional) you will need to stop the daemon node and start again with new set of parameters.

Optional parameters:

--region-code="" - A region for seeding default is "".
--seeding-symbol="" - A price currency, must be fiat (USD, EUR, ..) or DCT,
  default value is DCT.

Please, take note that the region-code parameter is optional, but could help you seed more content. It could happen that the publisher who will not know what your region is will not choose you to avoid some law obstacles. It also helps to deliver content faster, when consumers and seeders are from the same geographical location.

  • Example:
./decentd --seeding-price=0.1 --free-space=10000 --seeder=1.2.1009 --content-private-key=9929825202538904525106109715118390731307867060424773269806671642582808014388431220063738899822276719239811537373767212483489421362837444007489350876354517. --seeder-private-key=5JBQVbjNkjRqT4GZJpdmbt7AS5ji8VfN42cfFQ9v5PZpRyVub8f --packages-path=./existing_folder_created_for_packages

What Happens Next

  • Wait until the node is selected for seeding.
  • Please, note that authors prefer seeders with a higher rating.
  • Ratings are used as a reliability metric and is derived from various seeding statistics.
  • In regular intervals there will be proof-of-custody and delivery-proof performed by DCore which validates promoted values against real ones (like free space), and delivering the right pairs of decryption keys.