35 releases
| new 0.0.63 | Oct 31, 2025 |
|---|---|
| 0.0.60 | Aug 29, 2025 |
| 0.0.56 | Jul 14, 2025 |
| 0.0.43 | Mar 16, 2025 |
#13 in #commonware
5.5MB
111K
SLoC
commonware-bridge
Send succinct consensus certificates between two networks.
Usage
To run this example, you must first install Rust.
Generate Shared Secrets
Network 1
cargo run --release --bin dealer -- --seed 1 --participants 1,2,3,4
polynomial: 85bcdb782d3c7c11e637d6cc2609ecf1caba021c5c8f7db49d70fb726f863638d2cc9e4ea135776b9e2a320759907811055a6834140fb33de0b054a7bdd63833d40e12bbdf9828cccc21de1ac819edd4d55bcfd1e0b893793cfb51afedb63bb9a94fb58ab52c81eed23ca83825d30d2c791b3edfdb2ff4e6285d1f4e9b8a966eac9929bc9e5f094d81ff8b52f376dbe300671368a581c06ef9eb14a721729a8c3e791762a4bd4ab691efd5c072ba1eb15ad87ce6fcaa858b258cbb9c1bc2d9b7a0b5825c3dbaf52a1b20571d5925e944677d67b173100ea228cb38293f6e6f8d30ed9d9823250f2d7991640f4982493306b5c608826c61fe46820427bf25729c9f23127e072ddfeaf810db77af12076cdafac00980e6d4f5c2e3347053a3493d
public: 85bcdb782d3c7c11e637d6cc2609ecf1caba021c5c8f7db49d70fb726f863638d2cc9e4ea135776b9e2a320759907811055a6834140fb33de0b054a7bdd63833d40e12bbdf9828cccc21de1ac819edd4d55bcfd1e0b893793cfb51afedb63bb9
share (index=0 validator=4): 003521e062da79bd64dc8c5e0d07f07d64c805a137153ef2e6fa5485d28026990e
share (index=1 validator=1): 016b63f2c22039b703a52e4903a00986d2ea63361d3a6ef33b00330a52d4dce155
share (index=2 validator=2): 023fa89505734c5ab4d8727e5011e17fd0fee654d1f05496f0a9660025432adc38
share (index=3 validator=3): 0325dd6e7ffd4f25c0a992d5fa671a4064594ca15836ee3a06f5ed6748cb1089b8
Network 2
cargo run --release --bin dealer -- --seed 2 --participants 5,6,7,8
polynomial: a505888a5ef6fdd0f1f8b8c840f3bc20a648300b8d82b45dd8c9d685965d82bd35e1b102c9f111679811efffc7f6030f172530397956fe331644a8fa7c58deb46cf8dbcd084c905ad4567feb3d6e2629c9ee2166288fa487d9177d92cd48b162992b713b480b0fba70058b877a9142c98d6274d0088be5c15d1c77425d8f7e5c15b118fa50131c1be12ffc9f9812f348183e3c784789998cb1f3e3ba38bb93fd49d0abb3a22410f5af3a74aa97257431d61a245612a6859a690d40e1c5ad0bec84125b9e243d9eb7bbbf0c406db78821eab3f87f88a90b2c5c949213d2519e6d254308f0e4f0b75bcda2b3f79f26fad003ec4ad5bab0ed6d37eb7ca69a3f060392d62575fa691c4274739e234c290a9fc5c33ee33df3e879d1838e5e3c766eb4
public: a505888a5ef6fdd0f1f8b8c840f3bc20a648300b8d82b45dd8c9d685965d82bd35e1b102c9f111679811efffc7f6030f172530397956fe331644a8fa7c58deb46cf8dbcd084c905ad4567feb3d6e2629c9ee2166288fa487d9177d92cd48b162
share (index=0 validator=7): 004dba2ad66b0bb0760cdfc1b1e51fb96fb3b6bdd8cdd451beca1fb0247b2071c0
share (index=1 validator=8): 014342ca6e1877c338e416dc67bb836c996ca78e5c99dc12e937008e810c59ba44
share (index=2 validator=5): 0255ccd5a1f8962ce3e665d75f504d27e33db466838eb38476a162a32e4e73341a
share (index=3 validator=6): 03116aa51ee1c9702ee092da9099db1347d31fa24aac5c4a680945ee2d416cdf41
Start Indexer
cargo run --release --bin indexer -- --me 0@3000 --participants 1,2,3,4,5,6,7,8 --networks 85bcdb782d3c7c11e637d6cc2609ecf1caba021c5c8f7db49d70fb726f863638d2cc9e4ea135776b9e2a320759907811055a6834140fb33de0b054a7bdd63833d40e12bbdf9828cccc21de1ac819edd4d55bcfd1e0b893793cfb51afedb63bb9,a505888a5ef6fdd0f1f8b8c840f3bc20a648300b8d82b45dd8c9d685965d82bd35e1b102c9f111679811efffc7f6030f172530397956fe331644a8fa7c58deb46cf8dbcd084c905ad4567feb3d6e2629c9ee2166288fa487d9177d92cd48b162
Start Validators
Network 1 (Run at Least 3 to Make Progress)
Participant 1 (Bootstrapper)
cargo run --release --bin validator -- --me 1@3001 --participants 1,2,3,4 --storage-dir /tmp/commonware-bridge/1 --indexer 0@127.0.0.1:3000 --identity 85bcdb782d3c7c11e637d6cc2609ecf1caba021c5c8f7db49d70fb726f863638d2cc9e4ea135776b9e2a320759907811055a6834140fb33de0b054a7bdd63833d40e12bbdf9828cccc21de1ac819edd4d55bcfd1e0b893793cfb51afedb63bb9a94fb58ab52c81eed23ca83825d30d2c791b3edfdb2ff4e6285d1f4e9b8a966eac9929bc9e5f094d81ff8b52f376dbe300671368a581c06ef9eb14a721729a8c3e791762a4bd4ab691efd5c072ba1eb15ad87ce6fcaa858b258cbb9c1bc2d9b7a0b5825c3dbaf52a1b20571d5925e944677d67b173100ea228cb38293f6e6f8d30ed9d9823250f2d7991640f4982493306b5c608826c61fe46820427bf25729c9f23127e072ddfeaf810db77af12076cdafac00980e6d4f5c2e3347053a3493d --share 016b63f2c22039b703a52e4903a00986d2ea63361d3a6ef33b00330a52d4dce155 --other-public a505888a5ef6fdd0f1f8b8c840f3bc20a648300b8d82b45dd8c9d685965d82bd35e1b102c9f111679811efffc7f6030f172530397956fe331644a8fa7c58deb46cf8dbcd084c905ad4567feb3d6e2629c9ee2166288fa487d9177d92cd48b162
Participant 2
cargo run --release --bin validator -- --me 2@3002 --bootstrappers 1@127.0.0.1:3001 --participants 1,2,3,4 --storage-dir /tmp/commonware-bridge/2 --indexer 0@127.0.0.1:3000 --identity 85bcdb782d3c7c11e637d6cc2609ecf1caba021c5c8f7db49d70fb726f863638d2cc9e4ea135776b9e2a320759907811055a6834140fb33de0b054a7bdd63833d40e12bbdf9828cccc21de1ac819edd4d55bcfd1e0b893793cfb51afedb63bb9a94fb58ab52c81eed23ca83825d30d2c791b3edfdb2ff4e6285d1f4e9b8a966eac9929bc9e5f094d81ff8b52f376dbe300671368a581c06ef9eb14a721729a8c3e791762a4bd4ab691efd5c072ba1eb15ad87ce6fcaa858b258cbb9c1bc2d9b7a0b5825c3dbaf52a1b20571d5925e944677d67b173100ea228cb38293f6e6f8d30ed9d9823250f2d7991640f4982493306b5c608826c61fe46820427bf25729c9f23127e072ddfeaf810db77af12076cdafac00980e6d4f5c2e3347053a3493d --share 023fa89505734c5ab4d8727e5011e17fd0fee654d1f05496f0a9660025432adc38 --other-public a505888a5ef6fdd0f1f8b8c840f3bc20a648300b8d82b45dd8c9d685965d82bd35e1b102c9f111679811efffc7f6030f172530397956fe331644a8fa7c58deb46cf8dbcd084c905ad4567feb3d6e2629c9ee2166288fa487d9177d92cd48b162
Participant 3
cargo run --release --bin validator -- --me 3@3003 --bootstrappers 1@127.0.0.1:3001 --participants 1,2,3,4 --storage-dir /tmp/commonware-bridge/3 --indexer 0@127.0.0.1:3000 --identity 85bcdb782d3c7c11e637d6cc2609ecf1caba021c5c8f7db49d70fb726f863638d2cc9e4ea135776b9e2a320759907811055a6834140fb33de0b054a7bdd63833d40e12bbdf9828cccc21de1ac819edd4d55bcfd1e0b893793cfb51afedb63bb9a94fb58ab52c81eed23ca83825d30d2c791b3edfdb2ff4e6285d1f4e9b8a966eac9929bc9e5f094d81ff8b52f376dbe300671368a581c06ef9eb14a721729a8c3e791762a4bd4ab691efd5c072ba1eb15ad87ce6fcaa858b258cbb9c1bc2d9b7a0b5825c3dbaf52a1b20571d5925e944677d67b173100ea228cb38293f6e6f8d30ed9d9823250f2d7991640f4982493306b5c608826c61fe46820427bf25729c9f23127e072ddfeaf810db77af12076cdafac00980e6d4f5c2e3347053a3493d --share 0325dd6e7ffd4f25c0a992d5fa671a4064594ca15836ee3a06f5ed6748cb1089b8 --other-public a505888a5ef6fdd0f1f8b8c840f3bc20a648300b8d82b45dd8c9d685965d82bd35e1b102c9f111679811efffc7f6030f172530397956fe331644a8fa7c58deb46cf8dbcd084c905ad4567feb3d6e2629c9ee2166288fa487d9177d92cd48b162
Participant 4
cargo run --release --bin validator -- --me 4@3004 --bootstrappers 1@127.0.0.1:3001 --participants 1,2,3,4 --storage-dir /tmp/commonware-bridge/4 --indexer 0@127.0.0.1:3000 --identity 85bcdb782d3c7c11e637d6cc2609ecf1caba021c5c8f7db49d70fb726f863638d2cc9e4ea135776b9e2a320759907811055a6834140fb33de0b054a7bdd63833d40e12bbdf9828cccc21de1ac819edd4d55bcfd1e0b893793cfb51afedb63bb9a94fb58ab52c81eed23ca83825d30d2c791b3edfdb2ff4e6285d1f4e9b8a966eac9929bc9e5f094d81ff8b52f376dbe300671368a581c06ef9eb14a721729a8c3e791762a4bd4ab691efd5c072ba1eb15ad87ce6fcaa858b258cbb9c1bc2d9b7a0b5825c3dbaf52a1b20571d5925e944677d67b173100ea228cb38293f6e6f8d30ed9d9823250f2d7991640f4982493306b5c608826c61fe46820427bf25729c9f23127e072ddfeaf810db77af12076cdafac00980e6d4f5c2e3347053a3493d --share 003521e062da79bd64dc8c5e0d07f07d64c805a137153ef2e6fa5485d28026990e --other-public a505888a5ef6fdd0f1f8b8c840f3bc20a648300b8d82b45dd8c9d685965d82bd35e1b102c9f111679811efffc7f6030f172530397956fe331644a8fa7c58deb46cf8dbcd084c905ad4567feb3d6e2629c9ee2166288fa487d9177d92cd48b162
Network 2 (Run at Least 3 to Make Progress)
Participant 5
cargo run --release --bin validator -- --me 5@3005 --participants 5,6,7,8 --storage-dir /tmp/commonware-bridge/5 --indexer 0@127.0.0.1:3000 --identity a505888a5ef6fdd0f1f8b8c840f3bc20a648300b8d82b45dd8c9d685965d82bd35e1b102c9f111679811efffc7f6030f172530397956fe331644a8fa7c58deb46cf8dbcd084c905ad4567feb3d6e2629c9ee2166288fa487d9177d92cd48b162992b713b480b0fba70058b877a9142c98d6274d0088be5c15d1c77425d8f7e5c15b118fa50131c1be12ffc9f9812f348183e3c784789998cb1f3e3ba38bb93fd49d0abb3a22410f5af3a74aa97257431d61a245612a6859a690d40e1c5ad0bec84125b9e243d9eb7bbbf0c406db78821eab3f87f88a90b2c5c949213d2519e6d254308f0e4f0b75bcda2b3f79f26fad003ec4ad5bab0ed6d37eb7ca69a3f060392d62575fa691c4274739e234c290a9fc5c33ee33df3e879d1838e5e3c766eb4 --share 0255ccd5a1f8962ce3e665d75f504d27e33db466838eb38476a162a32e4e73341a --other-public 85bcdb782d3c7c11e637d6cc2609ecf1caba021c5c8f7db49d70fb726f863638d2cc9e4ea135776b9e2a320759907811055a6834140fb33de0b054a7bdd63833d40e12bbdf9828cccc21de1ac819edd4d55bcfd1e0b893793cfb51afedb63bb9
Participant 6
cargo run --release --bin validator -- --me 6@3006 --bootstrappers 5@127.0.0.1:3005 --participants 5,6,7,8 --storage-dir /tmp/commonware-bridge/6 --indexer 0@127.0.0.1:3000 --identity a505888a5ef6fdd0f1f8b8c840f3bc20a648300b8d82b45dd8c9d685965d82bd35e1b102c9f111679811efffc7f6030f172530397956fe331644a8fa7c58deb46cf8dbcd084c905ad4567feb3d6e2629c9ee2166288fa487d9177d92cd48b162992b713b480b0fba70058b877a9142c98d6274d0088be5c15d1c77425d8f7e5c15b118fa50131c1be12ffc9f9812f348183e3c784789998cb1f3e3ba38bb93fd49d0abb3a22410f5af3a74aa97257431d61a245612a6859a690d40e1c5ad0bec84125b9e243d9eb7bbbf0c406db78821eab3f87f88a90b2c5c949213d2519e6d254308f0e4f0b75bcda2b3f79f26fad003ec4ad5bab0ed6d37eb7ca69a3f060392d62575fa691c4274739e234c290a9fc5c33ee33df3e879d1838e5e3c766eb4 --share 03116aa51ee1c9702ee092da9099db1347d31fa24aac5c4a680945ee2d416cdf41 --other-public 85bcdb782d3c7c11e637d6cc2609ecf1caba021c5c8f7db49d70fb726f863638d2cc9e4ea135776b9e2a320759907811055a6834140fb33de0b054a7bdd63833d40e12bbdf9828cccc21de1ac819edd4d55bcfd1e0b893793cfb51afedb63bb9
Participant 7
cargo run --release --bin validator -- --me 7@3007 --bootstrappers 5@127.0.0.1:3005 --participants 5,6,7,8 --storage-dir /tmp/commonware-bridge/7 --indexer 0@127.0.0.1:3000 --identity a505888a5ef6fdd0f1f8b8c840f3bc20a648300b8d82b45dd8c9d685965d82bd35e1b102c9f111679811efffc7f6030f172530397956fe331644a8fa7c58deb46cf8dbcd084c905ad4567feb3d6e2629c9ee2166288fa487d9177d92cd48b162992b713b480b0fba70058b877a9142c98d6274d0088be5c15d1c77425d8f7e5c15b118fa50131c1be12ffc9f9812f348183e3c784789998cb1f3e3ba38bb93fd49d0abb3a22410f5af3a74aa97257431d61a245612a6859a690d40e1c5ad0bec84125b9e243d9eb7bbbf0c406db78821eab3f87f88a90b2c5c949213d2519e6d254308f0e4f0b75bcda2b3f79f26fad003ec4ad5bab0ed6d37eb7ca69a3f060392d62575fa691c4274739e234c290a9fc5c33ee33df3e879d1838e5e3c766eb4 --share 004dba2ad66b0bb0760cdfc1b1e51fb96fb3b6bdd8cdd451beca1fb0247b2071c0 --other-public 85bcdb782d3c7c11e637d6cc2609ecf1caba021c5c8f7db49d70fb726f863638d2cc9e4ea135776b9e2a320759907811055a6834140fb33de0b054a7bdd63833d40e12bbdf9828cccc21de1ac819edd4d55bcfd1e0b893793cfb51afedb63bb9
Participant 8
cargo run --release --bin validator -- --me 8@3008 --bootstrappers 5@127.0.0.1:3005 --participants 5,6,7,8 --storage-dir /tmp/commonware-bridge/8 --indexer 0@127.0.0.1:3000 --identity a505888a5ef6fdd0f1f8b8c840f3bc20a648300b8d82b45dd8c9d685965d82bd35e1b102c9f111679811efffc7f6030f172530397956fe331644a8fa7c58deb46cf8dbcd084c905ad4567feb3d6e2629c9ee2166288fa487d9177d92cd48b162992b713b480b0fba70058b877a9142c98d6274d0088be5c15d1c77425d8f7e5c15b118fa50131c1be12ffc9f9812f348183e3c784789998cb1f3e3ba38bb93fd49d0abb3a22410f5af3a74aa97257431d61a245612a6859a690d40e1c5ad0bec84125b9e243d9eb7bbbf0c406db78821eab3f87f88a90b2c5c949213d2519e6d254308f0e4f0b75bcda2b3f79f26fad003ec4ad5bab0ed6d37eb7ca69a3f060392d62575fa691c4274739e234c290a9fc5c33ee33df3e879d1838e5e3c766eb4 --share 014342ca6e1877c338e416dc67bb836c996ca78e5c99dc12e937008e810c59ba44 --other-public 85bcdb782d3c7c11e637d6cc2609ecf1caba021c5c8f7db49d70fb726f863638d2cc9e4ea135776b9e2a320759907811055a6834140fb33de0b054a7bdd63833d40e12bbdf9828cccc21de1ac819edd4d55bcfd1e0b893793cfb51afedb63bb9
Dependencies
~30–40MB
~835K SLoC