Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduce separate rosetta debian #15897

Merged
merged 13 commits into from
Aug 19, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion buildkite/scripts/rosetta-integration-tests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ export PG_CONN=postgres://${POSTGRES_USERNAME}:${POSTGRES_USERNAME}@127.0.0.1:54

# Mina Archive variables
export MINA_ARCHIVE_PORT=${MINA_ARCHIVE_PORT:=3086}
export MINA_ARCHIVE_SQL_SCHEMA_PATH=${MINA_ARCHIVE_SQL_SCHEMA_PATH:=/etc/mina/rosetta/archive/create_schema.sql}
export MINA_ARCHIVE_SQL_SCHEMA_PATH=${MINA_ARCHIVE_SQL_SCHEMA_PATH:=/etc/mina/archive/create_schema.sql}

# Mina Rosetta variables
export MINA_ROSETTA_ONLINE_PORT=${MINA_ROSETTA_ONLINE_PORT:=3087}
Expand Down
11 changes: 9 additions & 2 deletions buildkite/src/Constants/Artifacts.dhall
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ let toDebianName =
, Archive = "archive"
, TestExecutive = "test_executive"
, BatchTxn = "batch_txn"
, Rosetta = ""
, Rosetta = "rosetta_${Network.lowerName network}"
, ZkappTestTransaction = "zkapp_test_transaction"
, FunctionalTestSuite = "functional_test_suite"
}
Expand All @@ -103,7 +103,14 @@ let toDebianNames =
, Archive = [ "archive" ]
, TestExecutive = [ "test_executive" ]
, BatchTxn = [ "batch_txn" ]
, Rosetta = [ "" ]
, Rosetta =
Prelude.List.map
Network.Type
Text
( \(n : Network.Type)
-> "rosetta_${Network.lowerName n}"
)
networks
, ZkappTestTransaction = [ "zkapp_test_transaction" ]
, FunctionalTestSuite = [ "functional_test_suite" ]
}
Expand Down
2 changes: 1 addition & 1 deletion dockerfiles/Dockerfile-mina-rosetta
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ RUN mkdir -p --mode=700 ${MINA_CONFIG_DIR}/wallets/store/ \
RUN echo "Building image with version $deb_version from repo $deb_release $deb_codename for network $network" \
&& echo "deb [trusted=yes] ${deb_repo} $deb_codename $deb_release" > /etc/apt/sources.list.d/o1.list \
&& apt-get update --quiet --yes \
&& apt-get install --quiet --yes --allow-downgrades "mina-$network=$deb_version" "mina-archive=$deb_version" "mina-zkapp-test-transaction=$deb_version" \
&& apt-get install --quiet --yes --allow-downgrades "mina-$network=$deb_version" "mina-rosetta-$network=$deb_version" "mina-archive=$deb_version" "mina-zkapp-test-transaction=$deb_version" \
&& rm -rf /var/lib/apt/lists/*

# --- Set up postgres
Expand Down
2 changes: 0 additions & 2 deletions scripts/create_hardfork_deb.sh
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,6 @@ done
# Overwrite outdated ledgers that are being updated by the hardfork (backing up the outdated ledgers)
mv "${BUILDDIR}/var/lib/coda/${NETWORK_NAME}.json" "${BUILDDIR}/var/lib/coda/${NETWORK_NAME}.old.json"
cp "${RUNTIME_CONFIG_JSON}" "${BUILDDIR}/var/lib/coda/${NETWORK_NAME}.json"
mv "${BUILDDIR}/etc/mina/rosetta/genesis_ledgers/${NETWORK_NAME}.json" "${BUILDDIR}/etc/mina/rosetta/genesis_ledgers/${NETWORK_NAME}.old.json"
cp "${RUNTIME_CONFIG_JSON}" "${BUILDDIR}/etc/mina/rosetta/genesis_ledgers/${NETWORK_NAME}.json"

build_deb "${NETWORK_TAG}"
build_logproc_deb
Expand Down
79 changes: 58 additions & 21 deletions scripts/deb-builder-helpers.sh
Original file line number Diff line number Diff line change
Expand Up @@ -151,33 +151,12 @@ copy_common_daemon_configs() {

# Copy shared binaries
cp ../src/app/libp2p_helper/result/bin/libp2p_helper "${BUILDDIR}/usr/local/bin/coda-libp2p_helper"
# cp ./default/src/app/logproc/logproc.exe "${BUILDDIR}/usr/local/bin/mina-logproc"
cp ./default/src/app/runtime_genesis_ledger/runtime_genesis_ledger.exe "${BUILDDIR}/usr/local/bin/mina-create-genesis"
cp ./default/src/app/generate_keypair/generate_keypair.exe "${BUILDDIR}/usr/local/bin/mina-generate-keypair"
cp ./default/src/app/validate_keypair/validate_keypair.exe "${BUILDDIR}/usr/local/bin/mina-validate-keypair"

# Copy signature-based Binaries (based on signature type $2 passed into the function)
cp ./default/src/app/cli/src/mina_${2}_signatures.exe "${BUILDDIR}/usr/local/bin/mina"

# Copy rosetta-based Binaries
cp ./default/src/app/rosetta/rosetta_${2}_signatures.exe "${BUILDDIR}/usr/local/bin/mina-rosetta"
cp ./default/src/app/rosetta/ocaml-signer/signer_${2}_signatures.exe "${BUILDDIR}/usr/local/bin/mina-ocaml-signer"

mkdir -p "${BUILDDIR}/etc/mina/rosetta"
mkdir -p "${BUILDDIR}/etc/mina/rosetta/rosetta-cli-config"
mkdir -p "${BUILDDIR}/etc/mina/rosetta/archive"
mkdir -p "${BUILDDIR}/etc/mina/rosetta/genesis_ledgers"
mkdir -p "${BUILDDIR}/etc/mina/rosetta/scripts"

# --- Copy artifacts
cp ../src/app/rosetta/scripts/* "${BUILDDIR}/etc/mina/rosetta/scripts"
cp ../scripts/archive/missing-blocks-guardian.sh "${BUILDDIR}/etc/mina/rosetta/scripts"

cp ../src/app/rosetta/rosetta-cli-config/*.json "${BUILDDIR}/etc/mina/rosetta/rosetta-cli-config"
cp ../src/app/rosetta/rosetta-cli-config/*.ros "${BUILDDIR}/etc/mina/rosetta/rosetta-cli-config"
cp ./default/src/app/rosetta/indexer_test/indexer_test.exe "${BUILDDIR}/usr/local/bin/mina-rosetta-indexer-test"
cp ../src/app/archive/*.sql "${BUILDDIR}/etc/mina/rosetta/archive"
cp -r ../genesis_ledgers/* ${BUILDDIR}/etc/mina/rosetta/genesis_ledgers/

# Copy over Build Configs (based on $2)
mkdir -p "${BUILDDIR}/etc/coda/build_config"
Expand Down Expand Up @@ -276,6 +255,64 @@ build_functional_test_suite_deb() {
}
##################################### END TEST SUITE PACKAGE #######################################

function copy_common_rosetta_configs () {

# Copy rosetta-based Binaries
cp ./default/src/app/rosetta/rosetta_${1}_signatures.exe "${BUILDDIR}/usr/local/bin/mina-rosetta"
cp ./default/src/app/rosetta/ocaml-signer/signer_${1}_signatures.exe "${BUILDDIR}/usr/local/bin/mina-ocaml-signer"

mkdir -p "${BUILDDIR}/etc/mina/rosetta"
mkdir -p "${BUILDDIR}/etc/mina/rosetta/rosetta-cli-config"
mkdir -p "${BUILDDIR}/etc/mina/rosetta/scripts"

# --- Copy artifacts
cp ../src/app/rosetta/scripts/* "${BUILDDIR}/etc/mina/rosetta/scripts"
cp ../src/app/rosetta/rosetta-cli-config/*.json "${BUILDDIR}/etc/mina/rosetta/rosetta-cli-config"
cp ../src/app/rosetta/rosetta-cli-config/*.ros "${BUILDDIR}/etc/mina/rosetta/rosetta-cli-config"
cp ./default/src/app/rosetta/indexer_test/indexer_test.exe "${BUILDDIR}/usr/local/bin/mina-rosetta-indexer-test"

}

##################################### ROSETTA MAINNET PACKAGE #######################################
build_rosetta_mainnet_deb() {

echo "------------------------------------------------------------"
echo "--- Building mainnet rosetta deb"

create_control_file mina-rosetta-mainnet "${SHARED_DEPS}" 'Mina Protocol Rosetta Client' "${SUGGESTED_DEPS}"

copy_common_rosetta_configs "mainnet"

build_deb mina-rosetta-mainnet
}

##################################### ROSETTA MAINNET PACKAGE #######################################
build_rosetta_devnet_deb() {

echo "------------------------------------------------------------"
echo "--- Building devnet rosetta deb"

create_control_file mina-rosetta-devnet "${SHARED_DEPS}" 'Mina Protocol Rosetta Client' "${SUGGESTED_DEPS}"

copy_common_rosetta_configs "testnet"

build_deb mina-rosetta-devnet
}

##################################### ROSETTA BERKELEY PACKAGE #######################################
build_rosetta_berkeley_deb() {

echo "------------------------------------------------------------"
echo "--- Building rosetta berkeley deb"

create_control_file mina-rosetta-berkeley "${SHARED_DEPS}" 'Mina Protocol Rosetta Client' "${SUGGESTED_DEPS}"

copy_common_rosetta_configs "testnet"

build_deb mina-rosetta-berkeley
}


##################################### MAINNET PACKAGE #######################################
build_daemon_mainnet_deb() {

Expand Down
7 changes: 5 additions & 2 deletions scripts/rebuild-deb.sh
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,11 @@ if [ $# -eq 0 ]
build_archive_deb
build_batch_txn_deb
build_daemon_berkeley_deb
build_mainnet_daemon_deb
build_devnet_daemon_deb
build_daemon_mainnet_deb
build_daemon_devnet_deb
build_rosetta_berkeley_deb
build_rosetta_mainnet_deb
build_rosetta_devnet_deb
build_test_executive_deb
build_functional_test_suite_deb
build_zkapp_test_transaction_deb
Expand Down
2 changes: 1 addition & 1 deletion src/app/rosetta/scripts/docker-demo-start.sh
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ export MINA_POSTGRES_CONF=${MINA_POSTGRES_CONF:=/etc/mina/rosetta/scripts/postgr

# Mina Archive variables
export MINA_ARCHIVE_PORT=${MINA_ARCHIVE_PORT:=3086}
export MINA_ARCHIVE_SQL_SCHEMA_PATH=${MINA_ARCHIVE_SQL_SCHEMA_PATH:=/etc/mina/rosetta/archive/create_schema.sql}
export MINA_ARCHIVE_SQL_SCHEMA_PATH=${MINA_ARCHIVE_SQL_SCHEMA_PATH:=/etc/mina/archive/create_schema.sql}

# Mina Rosetta variables
# To interact with rosetta, use MINA_ROSETTA_ONLINE_PORT and MINA_ROSETTA_OFFLINE_PORT.
Expand Down
2 changes: 1 addition & 1 deletion src/app/rosetta/scripts/docker-start.sh
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ export MINA_LIBP2P_PASS=${MINA_LIBP2P_PASS:=''}
export MINA_NETWORK=${MINA_NETWORK:=mainnet}
export MINA_SUFFIX=${MINA_SUFFIX:=}
export MINA_GENESIS_LEDGER_URL=${MINA_GENESIS_LEDGER_URL:=}
export MINA_CONFIG_FILE="${MINA_CONFIG_FILE:=/etc/mina/rosetta/genesis_ledgers/${MINA_NETWORK}.json}"
export MINA_CONFIG_FILE="${MINA_CONFIG_FILE:=/var/lib/coda/${MINA_NETWORK}.json}"
export MINA_CONFIG_DIR="${MINA_CONFIG_DIR:=/data/.mina-config}"
export MINA_CLIENT_TRUSTLIST=${MINA_CLIENT_TRUSTLIST:=}
export PEER_LIST_URL=${PEER_LIST_URL:=https://storage.googleapis.com/seed-lists/${MINA_NETWORK}_seeds.txt}
Expand Down