Skip to content

feat(examples): add multisig example to Rust and all bindings#988

Open
shaibuafeez wants to merge 6 commits intoiotaledger:developfrom
shaibuafeez:feat/multisig-example
Open

feat(examples): add multisig example to Rust and all bindings#988
shaibuafeez wants to merge 6 commits intoiotaledger:developfrom
shaibuafeez:feat/multisig-example

Conversation

@shaibuafeez
Copy link
Contributor

@shaibuafeez shaibuafeez commented Feb 25, 2026

Summary

Test plan

  • Rust: cargo build --example multisig — compiles clean
  • Rust: cargo clippy --example multisig — zero warnings
  • Go: go vet + go build — clean
  • Kotlin: gradlew build + gradlew example -Pexample=Multisig — compiles and runs
  • Python: FFI imports verified, mnemonic derivation produces correct address
  • Swift: swift build — compiles and links clean
  • Full end-to-end: requires localnet (iota start --force-regenesis)

@shaibuafeez shaibuafeez requested a review from a team as a code owner February 25, 2026 17:39
@shaibuafeez shaibuafeez changed the title feat(examples): add 2-of-3 Ed25519 multisig example to Rust and all bindings feat(examples): add multisig example to Rust and all bindings Feb 26, 2026
@Thoralf-M
Copy link
Member

CI is failing

Running Go example "multisig"
2026/02/27 07:58:22 Multisig address: 0x2e8ebd8d59ec30a44930b72620bebf235fb6d90d205ec599808657a44a56c478
panic: interface conversion: error is nil, not *iota_sdk.SdkFfiError

goroutine 1 [running]:
main.main()
	/home/runner/work/iota-rust-sdk/iota-rust-sdk/bindings/go/examples/multisig/main.go:83 +0xc9d
exit status 2

and for Kotlin format run make kotlin-examples-format

@Thoralf-M
Copy link
Member

Still need to format kotlin make kotlin-examples-format

Copy link
Member

@Thoralf-M Thoralf-M left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@shaibuafeez
Copy link
Contributor Author

Thanks!

anytime 🫡

@thibault-martinez thibault-martinez linked an issue Mar 2, 2026 that may be closed by this pull request
2 tasks
Copy link
Member

@thibault-martinez thibault-martinez left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We have merged C# since you opened the PR, would you mind adding an example for it? Otherwise we will do it.

@shaibuafeez
Copy link
Contributor Author

shaibuafeez commented Mar 5, 2026

We have merged C# since you opened the PR, would you mind adding an example for it? Otherwise we will do it.

I should help add for C# too?

sure.

@shaibuafeez
Copy link
Contributor Author

Done

Copy link
Member

@thibault-martinez thibault-martinez left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you :)

@shaibuafeez
Copy link
Contributor Author

Thank you :)

Any time 🫡

Comment on lines +4 to +11
//! 2-of-3 Ed25519 multisig example.
//!
//! Derives 3 keypairs from a mnemonic at indices 0, 1, 2, creates a multisig
//! committee with threshold 2, funds the multisig address via faucet, builds
//! a `send_iota` transaction, signs with only 2 of the 3 keys, aggregates,
//! and executes.
//!
//! Requires a running localnet (`iota start --force-regenesis`).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Any reason why we should not have this in the corresponding bindings examples as well? I guess users who are looking for examples for their particular langue don't necessarily also check the Rust example?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bounty] Add an SDK Example for multisig address

5 participants