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

The seeding plugin is responsible for automatically announcing a seeder's capability, downloading and seeding content and distributing encryption keys. In order to enable it, continue with one of the following options.

Option 1: Start Seeding Plugin in a console window using Command-Line 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.

Optional parameters:

--region-code - A ISO 3166-1 alpha-2 two-letter region code for seeding, default is empty.
--seeding-symbol - A price currency, must be fiat (USD, EUR, ...) or DCT, default value is DCT.

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.


./decentd --seeding-price 0.1 --free-space 10000 --seeder 1.2.xx --content-private-key 9929825202538904525106109715118390731307867060424773269806671642582808014388431220063738899822276719239811537373767212483489421362837444007489350876354517. --seeder-private-key 5JBQVbjNkjRqT4GZJpdmbt7AS5ji8VfN42cfFQ9v5PZpRyVub8f --packages-path /path/folder_for_packages

Option 2: Start the Seeding Plugin as a system service using parameters in the Configuration File

  • Edit these lines in your /etc/decentd
seeder = 1.2.xx
seeder-private-key = 5JBQVbjNkjRqT4GZJpdmbt7AS5ji8VfN42cfFQ9v5PZpRyVub8f
content-private-key = 9929825202538904525106109715118390731307867060424773269806671642582808014388431220063738899822276719239811537373767212483489421362837444007489350876354517.
free-space = 10000
packages-path = /path/folder_for_packages
seeding-price = 0.1
  • Re-launch the service with the command systemctl restart DCore


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.

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.