From 4a5c3554bd5b6432ae1c08fae4222efa07044aa3 Mon Sep 17 00:00:00 2001 From: Chalith Desaman Date: Wed, 28 Jul 2021 16:33:58 +0530 Subject: [PATCH] Hotpocket version changes (#336) --- examples/c_contract/hotpocket_contract.h | 2 ++ examples/js_client/lib/hp-client-lib.js | 3 ++- examples/nodejs_contract/hp-contract-lib.js | 2 ++ src/main.cpp | 3 ++- src/util/version.hpp | 6 +++--- test/bin/hpfs | Bin 358560 -> 358560 bytes test/bin/hpws | Bin 43656 -> 43656 bytes test/docker/Dockerfile.ubt.20.04-njs | 2 +- test/docker/build.sh | 15 ++++++++++++--- test/docker/push.sh | 7 +++---- 10 files changed, 27 insertions(+), 13 deletions(-) diff --git a/examples/c_contract/hotpocket_contract.h b/examples/c_contract/hotpocket_contract.h index 74dcbd7d..8e6fc5d2 100644 --- a/examples/c_contract/hotpocket_contract.h +++ b/examples/c_contract/hotpocket_contract.h @@ -1,6 +1,8 @@ #ifndef __HOTPOCKET_CONTRACT_LIB_C__ #define __HOTPOCKET_CONTRACT_LIB_C__ +// Hot Pocket contract library version 0.5.0 + #include #include #include diff --git a/examples/js_client/lib/hp-client-lib.js b/examples/js_client/lib/hp-client-lib.js index ec9d07b4..49f282c6 100644 --- a/examples/js_client/lib/hp-client-lib.js +++ b/examples/js_client/lib/hp-client-lib.js @@ -1,5 +1,6 @@ /** * Hot Pocket javascript client library (for NodeJs and Browser) + * Version 0.5.0 * NodeJs: const HotPocket = require("./hp-client-lib") * Browser: window.HotPocket */ @@ -21,7 +22,7 @@ TextDecoder = util.TextDecoder; } - const supportedHpVersion = "1.0.0"; + const supportedHpVersion = "0.5.0"; const serverChallengeSize = 16; const outputValidationPassThreshold = 0.8; const connectionCheckIntervalMs = 1000; diff --git a/examples/nodejs_contract/hp-contract-lib.js b/examples/nodejs_contract/hp-contract-lib.js index 961ad909..3d43d84a 100644 --- a/examples/nodejs_contract/hp-contract-lib.js +++ b/examples/nodejs_contract/hp-contract-lib.js @@ -1,6 +1,8 @@ const fs = require('fs'); const tty = require('tty'); +// Hot Pocket contract library version 0.5.0 + const MAX_SEQ_PACKET_SIZE = 128 * 1024; const controlMessages = { contractEnd: "contract_end", diff --git a/src/main.cpp b/src/main.cpp index d4aa55ee..36f10c70 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -155,7 +155,8 @@ int main(int argc, char **argv) if (conf::ctx.command == "version") { // Print the version - std::cout << "HotPocket " << version::HP_VERSION << " (ledger version " << version::LEDGER_VERSION << ")" << std::endl; + std::cout << version::HP_VERSION << " \nLedger version: " << version::LEDGER_VERSION << "\n"; + return 0; } else { diff --git a/src/util/version.hpp b/src/util/version.hpp index 6c619eab..02807fe5 100644 --- a/src/util/version.hpp +++ b/src/util/version.hpp @@ -6,13 +6,13 @@ namespace version { // Hot Pocket version. Written to new configs and p2p/user messages. - constexpr const char *HP_VERSION = "1.0.0"; + constexpr const char *HP_VERSION = "0.5.0"; // Minimum compatible config version (this will be used to validate configs). - constexpr const char *MIN_CONFIG_VERSION = "1.0.0"; + constexpr const char *MIN_CONFIG_VERSION = "0.5.0"; // Ledger file storage version. All nodes in a cluster MUST use the same ledger version. - constexpr const char *LEDGER_VERSION = "1.0.0"; + constexpr const char *LEDGER_VERSION = "0.5.0"; // Version header size in bytes when serialized in binary format. (applies to hp version as well as ledger version) // 2 bytes each for 3 version components. 2 bytes reserved. diff --git a/test/bin/hpfs b/test/bin/hpfs index 5c1d2b3ab6131e46f4a272ef1a4bde22bea4ce3c..fe568ea0df3688e38b4b24f901cbfbee9872c6e3 100755 GIT binary patch delta 60344 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

D%snE#S!yuMMH|_iU>F%f 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

%gzkaIf^^1P68`xlafAO{OsuqN3pj>50x2$ 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%0A*KDc#RcP&) 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 H++6#AZvSGb diff --git a/test/bin/hpws b/test/bin/hpws index 69c98f5851719e0fafc60ab09ac9710fc586f9fb..26dd64b3eac2bab7bb9b37d8742a1264d9411c99 100755 GIT binary patch delta 12985 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 WCX)8s>SkE}Hc7O$V%Gi`_5T1x*gmBI delta 12817 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 diff --git a/test/docker/Dockerfile.ubt.20.04-njs b/test/docker/Dockerfile.ubt.20.04-njs index 9a025f9c..81f8bca8 100644 --- a/test/docker/Dockerfile.ubt.20.04-njs +++ b/test/docker/Dockerfile.ubt.20.04-njs @@ -1,6 +1,6 @@ # HotPocket (Ubuntu 20.04) + NodeJs -FROM hotpocketdev/hotpocket:ubt.20.04 +FROM hotpocketdev/hotpocket:%ver%-ubt.20.04 # Copy the node binary from build context to the container image. COPY node /usr/bin/ \ No newline at end of file diff --git a/test/docker/build.sh b/test/docker/build.sh index 23133c50..7eab92e9 100755 --- a/test/docker/build.sh +++ b/test/docker/build.sh @@ -1,15 +1,22 @@ #!/bin/bash +# Builds all the Hot Pocket docker images. hpcoredir=$(realpath ../..) -repo=hotpocketdev/hotpocket +img=hotpocketdev/hotpocket +basefile="Dockerfile.ubt.20.04" +njsfile="Dockerfile.ubt.20.04-njs" # Prepare build context tmp=$(mktemp -d) cp $hpcoredir/build/{hpcore,appbill} $hpcoredir/test/bin/{hpfs,hpws,libblake3.so} $tmp/ strip $tmp/hpcore +hpversion=$($tmp/hpcore version | head -n 1) +# Remove the revision component from hp version to make up the image version. +imgversion=$(echo "${hpversion%.*}") + # Ubuntu base image -docker build -t $repo:ubt.20.04 -f ./Dockerfile.ubt.20.04 $tmp/ +docker build -t $img:$imgversion-ubt.20.04 -f ./$basefile $tmp/ rm -r $tmp/* # NodeJs image @@ -17,6 +24,8 @@ rm -r $tmp/* curl -fsSL -o $tmp/nodejs.tar.xz https://nodejs.org/dist/v14.17.3/node-v14.17.3-linux-x64.tar.xz tar -xvJf $tmp/nodejs.tar.xz --strip-components=2 -C $tmp/ node-v14.17.3-linux-x64/bin/node rm $tmp/nodejs.tar.xz -docker build -t $repo:ubt.20.04-njs.14 -f ./Dockerfile.ubt.20.04-njs $tmp +cp ./$njsfile $tmp/ +sed -i "s/%ver%/$imgversion/g" $tmp/$njsfile +docker build -t $img:$imgversion-ubt.20.04-njs.14 -f $tmp/$njsfile $tmp rm -r $tmp \ No newline at end of file diff --git a/test/docker/push.sh b/test/docker/push.sh index 472df71d..21f46b07 100755 --- a/test/docker/push.sh +++ b/test/docker/push.sh @@ -1,7 +1,6 @@ #!/bin/bash +# Pushes all the Hot Pocket images into docker hub. -repo=hotpocketdev/hotpocket +img=hotpocketdev/hotpocket -./build.sh -docker push $repo:ubt.20.04 -docker push $repo:ubt.20.04-njs.14 \ No newline at end of file +docker image push --all-tags $img \ No newline at end of file