diff --git a/nohup.out b/nohup.out new file mode 100644 index 00000000..037c07b3 --- /dev/null +++ b/nohup.out @@ -0,0 +1,15 @@ +ℹ️ cluster id is 9e68173f-9c23-4acc-ba81-4f079b639964 +ℹ️ using 256 bit prime +ℹ️ storing state in /tmp/.tmp22e2En (79.99Gbs available) +🏃 starting nilchain node in: /tmp/.tmp22e2En/nillion-chain +⛓ nilchain JSON RPC available at http://127.0.0.1:48102 +⛓ nilchain REST API available at http://localhost:26650 +⛓ nilchain gRPC available at localhost:26649 +🏃 starting node 12D3KooWMvw1hEqm7EWSDEyqTb6pNetUVkepahKY6hixuAuMZfJS +⏳ waiting until bootnode is up... +🏃 starting node 12D3KooWAiwGZUwSUaT2bYVxGS8jmfMrfsanZYkHwH3uL7WJPsFq +🏃 starting node 12D3KooWM3hsAswc7ZT6VpwQ1TCZU4GCYY55nLhcsxCcfjuixW57 +👛 funding nilchain keys +📝 nillion CLI configuration written to /root/.config/nillion/nillion-cli.yaml +🌄 environment file written to /root/.config/nillion/nillion-devnet.env +⚠️ shutting down... diff --git a/quickstart/client_code/run_my_first_program.py b/quickstart/client_code/run_my_first_program.py index e69de29b..4d09935e 100644 --- a/quickstart/client_code/run_my_first_program.py +++ b/quickstart/client_code/run_my_first_program.py @@ -0,0 +1,24 @@ +from nada_dsl import * + +def nada_main(): + # Define two parties + party1 = Party(name="Party1") + party2 = Party(name="Party2") + + # Define inputs for Party1 + my_int1 = SecretInteger(Input(name="my_int1", party=party1)) + my_int2 = SecretInteger(Input(name="my_int2", party=party1)) + + # Define inputs for Party2 + my_int3 = SecretInteger(Input(name="my_int3", party=party2)) + my_int4 = SecretInteger(Input(name="my_int4", party=party2)) + + # Perform addition and multiplication + new_int_add = my_int1 + my_int2 + new_int_mul = my_int3 * my_int4 + + # Return the outputs for both parties + return [ + Output(new_int_add, "addition_output", party1), + Output(new_int_mul, "multiplication_output", party2) + ] diff --git a/quickstart/nada_quickstart_programs/nada-project.toml b/quickstart/nada_quickstart_programs/nada-project.toml new file mode 100644 index 00000000..da166dde --- /dev/null +++ b/quickstart/nada_quickstart_programs/nada-project.toml @@ -0,0 +1,7 @@ +name = "nada_quickstart_programs" +version = "0.1.0" +authors = [""] + +[[programs]] +path = "src/main.py" +prime_size = 128 diff --git a/quickstart/nada_quickstart_programs/src/main.py b/quickstart/nada_quickstart_programs/src/main.py new file mode 100644 index 00000000..49e9e7e6 --- /dev/null +++ b/quickstart/nada_quickstart_programs/src/main.py @@ -0,0 +1,12 @@ +from nada_dsl import * + +def nada_main(): + party1 = Party(name="Party1") + party2 = Party(name="Party2") + party3 = Party(name="Party3") + a = SecretInteger(Input(name="A", party=party1)) + b = SecretInteger(Input(name="B", party=party2)) + + result = a + b + + return [Output(result, "my_output", party3)] \ No newline at end of file diff --git a/quickstart/nada_quickstart_programs/target/main.nada.bin b/quickstart/nada_quickstart_programs/target/main.nada.bin new file mode 100644 index 00000000..13e473a0 Binary files /dev/null and b/quickstart/nada_quickstart_programs/target/main.nada.bin differ diff --git a/quickstart_complete/client_code/=0.9.2 b/quickstart_complete/client_code/=0.9.2 new file mode 100644 index 00000000..972a8252 --- /dev/null +++ b/quickstart_complete/client_code/=0.9.2 @@ -0,0 +1,19 @@ +Requirement already satisfied: cosmpy in /usr/local/lib/python3.10/dist-packages (0.9.2) +Requirement already satisfied: bech32 in /usr/local/lib/python3.10/dist-packages (from cosmpy) (1.2.0) +Requirement already satisfied: ecdsa in /usr/local/lib/python3.10/dist-packages (from cosmpy) (0.19.0) +Requirement already satisfied: googleapis-common-protos in /usr/local/lib/python3.10/dist-packages (from cosmpy) (1.63.2) +Requirement already satisfied: grpcio in /usr/local/lib/python3.10/dist-packages (from cosmpy) (1.64.1) +Requirement already satisfied: jsonschema<5,>=3.2.0 in /usr/local/lib/python3.10/dist-packages (from cosmpy) (4.19.2) +Requirement already satisfied: protobuf<5.0dev,>=4.21.6 in /usr/local/lib/python3.10/dist-packages (from cosmpy) (4.25.3) +Requirement already satisfied: pycryptodome<4.0.0,>=3.18.0 in /usr/local/lib/python3.10/dist-packages (from cosmpy) (3.20.0) +Requirement already satisfied: python-dateutil in /usr/local/lib/python3.10/dist-packages (from cosmpy) (2.8.2) +Requirement already satisfied: requests in /usr/local/lib/python3.10/dist-packages (from cosmpy) (2.31.0) +Requirement already satisfied: attrs>=22.2.0 in /usr/local/lib/python3.10/dist-packages (from jsonschema<5,>=3.2.0->cosmpy) (23.2.0) +Requirement already satisfied: jsonschema-specifications>=2023.03.6 in /usr/local/lib/python3.10/dist-packages (from jsonschema<5,>=3.2.0->cosmpy) (2023.12.1) +Requirement already satisfied: referencing>=0.28.4 in /usr/local/lib/python3.10/dist-packages (from jsonschema<5,>=3.2.0->cosmpy) (0.35.1) +Requirement already satisfied: rpds-py>=0.7.1 in /usr/local/lib/python3.10/dist-packages (from jsonschema<5,>=3.2.0->cosmpy) (0.18.1) +Requirement already satisfied: six>=1.9.0 in /usr/local/lib/python3.10/dist-packages (from ecdsa->cosmpy) (1.16.0) +Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests->cosmpy) (3.3.2) +Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests->cosmpy) (3.7) +Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests->cosmpy) (2.0.7) +Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests->cosmpy) (2024.6.2) diff --git a/quickstart_complete/client_code/nillion-python-starter b/quickstart_complete/client_code/nillion-python-starter new file mode 160000 index 00000000..15e9fe0b --- /dev/null +++ b/quickstart_complete/client_code/nillion-python-starter @@ -0,0 +1 @@ +Subproject commit 15e9fe0b43b980670bf1a97f703a8d2f25ca1afc diff --git a/quickstart_complete/nada_quickstart_programs/src/secret_addition_complete.py b/quickstart_complete/nada_quickstart_programs/src/secret_addition_complete.py index be9daa13..eb55ce5e 100644 --- a/quickstart_complete/nada_quickstart_programs/src/secret_addition_complete.py +++ b/quickstart_complete/nada_quickstart_programs/src/secret_addition_complete.py @@ -1,12 +1,24 @@ from nada_dsl import * -def nada_main(): +def nada_main(): + # Define two parties party1 = Party(name="Party1") + party2 = Party(name="Party2") + # Define inputs for Party1 my_int1 = SecretInteger(Input(name="my_int1", party=party1)) - my_int2 = SecretInteger(Input(name="my_int2", party=party1)) - new_int = my_int1 + my_int2 + # Define inputs for Party2 + my_int3 = SecretInteger(Input(name="my_int3", party=party2)) + my_int4 = SecretInteger(Input(name="my_int4", party=party2)) + + # Perform addition and multiplication + new_int_add = my_int1 + my_int2 + new_int_mul = my_int3 * my_int4 - return [Output(new_int, "my_output", party1)] \ No newline at end of file + # Return the outputs for both parties + return [ + Output(new_int_add, "addition_output", party1), + Output(new_int_mul, "multiplication_output", party2) + ] diff --git a/quickstart_complete/nada_quickstart_programs/target/secret_addition_complete.nada.bin b/quickstart_complete/nada_quickstart_programs/target/secret_addition_complete.nada.bin index 4351b211..e9e2b265 100644 Binary files a/quickstart_complete/nada_quickstart_programs/target/secret_addition_complete.nada.bin and b/quickstart_complete/nada_quickstart_programs/target/secret_addition_complete.nada.bin differ