diff --git a/nohup.out b/nohup.out new file mode 100644 index 00000000..1db88da7 --- /dev/null +++ b/nohup.out @@ -0,0 +1,14 @@ +ℹ️ cluster id is 9e68173f-9c23-4acc-ba81-4f079b639964 +ℹ️ using 256 bit prime +ℹ️ storing state in /tmp/.tmpOWqhhL (79.99Gbs available) +🏃 starting nilchain node in: /tmp/.tmpOWqhhL/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 diff --git a/quickstart/client_code/run_my_first_program.py b/quickstart/client_code/run_my_first_program.py index e69de29b..1a8fbca4 100644 --- a/quickstart/client_code/run_my_first_program.py +++ b/quickstart/client_code/run_my_first_program.py @@ -0,0 +1,46 @@ +# nada_program.py + +from nada_dsl import * + +def nada_main(): + # Define two parties + party1 = Party(name="Party1") + party2 = Party(name="Party2") + + # Define secret integers for each party + secret1_p1 = SecretInteger(Input(name="secret1_p1", party=party1)) + secret2_p1 = SecretInteger(Input(name="secret2_p1", party=party1)) + + secret1_p2 = SecretInteger(Input(name="secret1_p2", party=party2)) + secret2_p2 = SecretInteger(Input(name="secret2_p2", party=party2)) + + # Perform arithmetic operations + sum_p1 = secret1_p1 + secret2_p1 + sum_p2 = secret1_p2 + secret2_p2 + + product_p1 = secret1_p1 * secret2_p1 + product_p2 = secret1_p2 * secret2_p2 + + combined_sum = sum_p1 + sum_p2 + combined_product = product_p1 * product_p2 + + # Debugging outputs + print(f"Sum Party 1: {sum_p1}") + print(f"Sum Party 2: {sum_p2}") + print(f"Product Party 1: {product_p1}") + print(f"Product Party 2: {product_p2}") + print(f"Combined Sum: {combined_sum}") + print(f"Combined Product: {combined_product}") + + # Returning outputs for both parties + return [ + Output(sum_p1, "sum_output_p1", party1), + Output(sum_p2, "sum_output_p2", party2), + Output(product_p1, "product_output_p1", party1), + Output(product_p2, "product_output_p2", party2), + Output(combined_sum, "combined_sum_output", party1), + Output(combined_product, "combined_product_output", party2) + ] + +# Create the NaDa program +nada_program = nada_main() \ No newline at end of file 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_complete/nada_quickstart_programs/target/secret_addition_complete.nada.bin b/quickstart_complete/nada_quickstart_programs/target/secret_addition_complete.nada.bin index 4351b211..37ab3543 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