Mina Testnet Phase 4 – Staking Signups

COMING SOON: MINA TESTNET RELEASE 4.1 – TURBO PICKLES :cucumber:

Mina’s next public testnet, Turbo Pickles, is planned for Wednesday November 18th! The deadline to register for Testnet 4.1 technical challenges has now closed. You can still sign up for the waitlist for technical challenges.
:point_right: Read the requirements below and sign up here.

Perks:

Sign up for the opportunity to stake, become a block producer on Mina’s public testnet, participate in other technical challenges for Testnet Points* (see leaderboard), and increase your chances to become eligible for the Genesis token program. We’re planning to onboard new Genesis founding members again after release 4.1!

NEW FOR 4.1: We will be testing time-locked accounts during this testnet release! Testnet participant accounts will be locked for different periods of time. The sooner you sign up to stake, the shorter your time-lock will be – we’ll release more information about time-locked accounts by 4.1 release! So sign up ASAP using the instructions below. :point_down:

Requirements:

  • To successfully produce blocks, you need good uptime — your node needs to be online and connected to testnet (if not 24/7, then as much as possible) during the period of release 4.1. We will share testnet documentation with you to help you get connected.

  • Block producers who stake their testnet minas are required to connect to testnet and send a transaction to Mina’s echo service on the testnet within 48 hours after testnet launch. If you do not fulfil this requirement, the stake that you received at the start of the mainnet may get redelegated away from you to another member. We will share testnet documentation with you to help you get connected, and send transactions on the testnet.

  • Hardware requirements:

    • at least an 8-core processor
    • RAM: at least 12GB

Important note:

Active block producers are crucial for the liveliness of a network, and because the number of testnet users are limited in this release, we want to give these chances to truly engaged community members. Therefore, please only sign up for staking if you truly intend to participate.

Rules

We want to clearly communicate our expectations for the community. Please review these so you don’t run into any issues with warnings, bans or disqualifications.

  • only one Discord account per person is allowed.
  • only one public key per person is allowed.
  • only one spot on the leaderboard per person is allowed.

In case of doubt, please check with an O(1) Labs team member.

Signup Instructions

To sign up to participate in the staking challenge and other challenges, you first need to generate your public key. If you are one of the chosen testnet users, we will delegate stake and send testnet tokens to your public key.

Please follow the steps below to generate your public key so it can be added to the genesis ledger of testnet release 4.1.

Please Note: If you have an existing public key that you used for testnet release 3.3, you can reuse that key for the 4.1 testnet release. However you cannot use your key from testnet releases before 3.3. Report your public key to the team in order to sign up for the staking challenge and other technical challenges by filling in this form.

Install

To install the public key generation utility, run the following commands:

On MacOS (using Homebrew):

brew install minaprotocol/mina/mina-generate-keypair

On Ubuntu 18.04 / Debian 9 (using APT):

echo "deb [trusted=yes] http://packages.o1test.net unstable main" | sudo tee /etc/apt/sources.list.d/coda.list
sudo apt-get update
sudo apt-get install libjemalloc-dev
sudo apt-get install mina-generate-keypair=0.0.16-beta7-20bce37

On Windows

Although Windows is not officially supported at this time, you can still participate. Community members have successfully tried out a number of ways to open a Ubuntu terminal while using Windows. Go to this wiki page for instructions to set this up, then come back and follow the instructions for Ubuntu.

On any machine with Docker:

The following command gets the latest generate keypair image, runs it, and generates a new key called “mywallet” in ./keys. This should work on any host that supports docker, including windows hosts or older Macs that do not cooperate with the brew instructions.

docker run --interactive --rm --volume $(pwd)/keys:/keys minaprotocol/generate-keypair:latest -privkey-path /keys/my-wallet

Generate Keypair

To generate a keypair file called “my-wallet” in the “keys” folder, run this command:

mina-generate-keypair -privkey-path keys/my-wallet

You will be prompted for a password, and then see the output of your new public key. See below:

        Password for new private key file: 
        Again to confirm: 
        Keypair generated
        Public key: 4vsRCVvoKYTVPKxMtwdQHw5RZqtrrRPQhAjcZwbrUVMiFcyvFPWEiSQsfG31LzJaqoZYJAKSSQaqfwUc...

  • IMPORTANT: Do not lose this file! You’ll need it again when you start your node when Phase 4.1 begins.
  • Report your public key to the team in order to sign up for the staking challenge and other technical challenges by filling in this form.
  • IMPORTANT: If you belong to one of the selected testnet users, then you will receive stake (delegated to you) on the registered public key. You will not be able to participate in the staking challenge and produce blocks with any other key - take good care of your keypair file!

:bulb: Tip: the Discord server is where the community and the team hangs out, so we’d love to see you over there!

:bulb: Tip: if you get stuck or need some extra help to get connected to the testnet, feel free to reach out to us on Discord!

FAQ

Q: Do I need to sign up again if I already signed up previously for a public testnet?

A: Yes, please sign up again! Because the testnet slots are limited, we’d like to include as many active members as possible. By signing up again, you let us know that you intend to participate in testnet release 4.1.

Q: Do I have to resubmit my keypair if I already submitted it in previous testnet phases?

A: Yes, please resubmit!

Q: Do I have to regenerate my keypair if I already have one from previous testnet phases?

A: No, you can use public keys from the 3.3 testnet release. However keys from earlier testnets (3.1 or 3.2) will not work and you will need to regenerate your keypair.

Q: Do I need to use my registered keypair when release 4.1 starts?

A: Yes, if you belong to one of the selected testnet users for release 4.1, then you will receive stake (delegated to you) on the registered key. You will not be able to participate in the staking challenge and produce blocks with any other key.

Q: What is this utility I have to download?

A: This source of this program is located here if you’d like to build it yourself: GitHub

Next Steps:

  • You will be notified at latest on Tuesday November 17th (Pacific Time) whether you’re selected for release 4.1
  • Be ready to set up your Staking Node when Phase 4.1 launches – we’re on track for Wednesday November 18th, but the date is subject to change.
    We’ll share an update on Discord if anything changes, so keep an eye out on the #announcement channel!
  • Happy staking!
9 Likes
  • downloaded new public key regeneration utility
  • generated new set of keys
  • submitted new public key
4 Likes

After installing i got this error: coda-generate-keypair-phase3: error while loading shared libraries: libjemalloc.so.1: cannot open shared object file: No such file or directory

If u got same error - try this:
sudo apt install libjemalloc1 -y

4 Likes

Thanks for sharing @whataday2day. I received feedback from many community members that your solution worked!

Error on Mac OS:
dyld: Library not loaded: /usr/local/opt/jemalloc/lib/libjemalloc.2.dylib
Referenced from: /usr/local/bin/coda-generate-keypair-phase3
Reason: image not found
[1] 9846 abort coda-generate-keypair-phase3 -privkey-path keys/my-wallet

Solution, install: brew install jemalloc

2 Likes

Looking forward to Testnet beta phase 3.2. Signed up to stake!

2 Likes

Looks good! Looking forward to it

2 Likes

If anyone here has issues with libffi on Mac make sure the path

/usr/local/Cellar/libffi/3.3/lib/libffi.6.dylib

exists. If it doesn’t, you can fix it by running

brew install libffi
ln -s /usr/local/Cellar/libffi/3.3/lib/libffi.7.dylib /usr/local/Cellar/libffi/3.3/lib/libffi.6.dylib

This will simlink 6 -> 7, which worked for me to generate the key.

5 Likes

Running Ubuntu 20 and having issues with: libprocps6 and libffi6 being not installable.

Looks like these might not yet be in v20? I guess I could go back to Ubuntu 18.04 - unless there’s a work around?

Getting the below error on MacOS
(base) base:~ bharat$ brew install codaprotocol/coda/coda-generate-keypair-phase3

Cloning into ‘/usr/local/Library/Taps/codaprotocol/homebrew-coda’…

remote: Enumerating objects: 173, done.

remote: Counting objects: 100% (173/173), done.

remote: Compressing objects: 100% (139/139), done.

remote: Total 173 (delta 82), reused 31 (delta 12), pack-reused 0

Receiving objects: 100% (173/173), 38.97 KiB | 554.00 KiB/s, done.

Resolving deltas: 100% (82/82), done.

^[[OTapped 3 formulae

Error: undefined method `desc’ for CodaGenerateKeypairPhase3:Class

Please report this bug:

https://github.com/Homebrew/homebrew/wiki/troubleshooting

/usr/local/Library/Taps/codaprotocol/homebrew-coda/coda-generate-keypair-phase3.rb:2:in `class:CodaGenerateKeypairPhase3

/usr/local/Library/Taps/codaprotocol/homebrew-coda/coda-generate-keypair-phase3.rb:1:in `<top (required)>’

/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require’

/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require’

/usr/local/Library/Homebrew/formulary.rb:65:in `klass’

/usr/local/Library/Homebrew/formulary.rb:50:in `get_formula’

/usr/local/Library/Homebrew/formulary.rb:185:in `get_formula’

/usr/local/Library/Homebrew/formulary.rb:198:in `factory’

/usr/local/Library/Homebrew/extend/ARGV.rb:16:in `block in formulae’

/usr/local/Library/Homebrew/extend/ARGV.rb:16:in `map’

/usr/local/Library/Homebrew/extend/ARGV.rb:16:in `formulae’

/usr/local/Library/Homebrew/cmd/install.rb:28:in `install’

/usr/local/Library/brew.rb:134:in `’

echo “deb [trusted=yes] <I had to remove the link here because I couldn’t post> release main” | sudo tee /etc/apt/sources.list.d/coda.list

The first line should not have the < or >
otherwise you get

E: The method driver /usr/lib/apt/methods/<http could not be found.
N: Is the package apt-transport-<http installed?
E: Failed to fetch http://packages.o1test.net/dists/release/InRelease
E: Some index files failed to download. They have been ignored, or old ones used instead.```

Use the bottom one instead.

echo “deb [trusted=yes] http://packages.o1test.net release main” | sudo tee /etc/apt/sources.list.d/coda.list

If you already installed, then fix is cd /etc/apt/sources.list.d then sudo nano coda.list and remove the < and > save and apt-get update should work now.

1 Like

As posted by @linuskrom in Discord you can also do this in Docker with this command:

docker run --interactive --rm --volume $(pwd)/keys:/keys codaprotocol/coda-genkey:latest -privkey-path /keys/mywallet

and change the --volume <path>:/keys to a different <path> to put the keys elsewhere on your machine.

When running:

sudo apt-get install coda-generate-keypair-phase3=0.0.15-beta-52b1ddd

I get this error:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 coda-generate-keypair-phase3 : Depends: libprocps6 but it is not installable
                                Depends: libffi6 but it is not installable
E: Unable to correct problems, you have held broken packages.

I also tried:

sudo apt install libprocps6 libffi6

And the errors are:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package libprocps6 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

Package libffi6 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'libprocps6' has no installation candidate
E: Package 'libffi6' has no installation candidate

Where should I get these two dependencies? I’m in Ubuntu 20.04. It appears these packages no longer exist in the repos. Thanks! :slight_smile:

Caution: This got it to run, but i got a Illegal instruction. I was told it was because of old hardware, so it might work.

*I cant paste links so put http:// before and a . where there is a space.

These are the 2 missing libraries.

wget mirrors.kernel org/ubuntu/pool/main/libf/libffi/libffi6_3.2.1-8_amd64.deb
wget security.ubuntu com/ubuntu/pool/main/p/procps/libprocps6_3.3.12-3ubuntu1.1_amd64.deb

You might also need this one

wget mirrors.kernel org/ubuntu/pool/universe/j/jemalloc/libjemalloc1_3.6.0-9ubuntu1_amd64.deb

Then use sudo dpkg -i [name.deb] Example would be

sudo dpkg -i libjemalloc1_3.6.0-9ubuntu1_amd64.deb

Then

sudo apt-get install coda-generate-keypair-phase3=0.0.15-beta-52b1ddd
coda-generate-keypair-phase3 -privkey-path keys/my-wallet

Does this work?

Is there available the sources to compile them? because I have a server with ARM and would like to give it a try.