Monero
$64.86 -0.05%
XMR · 19w

Multisig support added to JavaScript RPC, Java RPC and JNI, and C++ libraries

Here's a demonstration of creating N/N, (N-1)/N, and M/N multisig wallets in Java using native bindings to Monero Core. public static void main(String[] args) { createMultisigParticipants(2, 2); createMultisigParticipants(2, 3); createMultisigParticipants(2, 4); } private static List createMultisigParticipants(int M, int N) { // create participating wallets List wallets = new ArrayList(); for (int i = 0; i < N; i++) { wallets.add(MoneroWalletJni.createWalletRandom("test_wallet_" + (i + 1), "supersecretpassword123", MoneroNetworkType.STAGENET, new MoneroRpcConnection("http://localhost:38081"))); } // prepare and collect multisig hex from each participant List preparedMultisigHexes = new ArrayList(); for (MoneroWallet wallet : wallets) preparedMultisigHexes.add(wallet.prepareMultisig()); // make each wallet multsig and collect results List madeMultisigHexes = new ArrayList(); for (int i = 0; i < wallets.size(); i++) { // collect prepared multisig hexes from wallet's peers List peerMultisigHexes = new ArrayList(); for (int j = 0; j < wallets.size(); j++) if (j != i) peerMultisigHexes.add(preparedMultisigHexes.get(j)); // make wallet multisig and collect result hex MoneroMultisigInitResult result = wallets.get(i).makeMultisig(peerMultisigHexes, M, "supersecretpassword123"); madeMultisigHexes.add(result.getMultisigHex()); } // if wallet is not N/N, exchange multisig keys N-M times if (M != N) { List multisigHexes = madeMultisigHexes; for (int i = 0; i < N - M; i++) { // exchange multisig keys among participants and collect results for next round if applicable List resultMultisigHexes = new ArrayList()...
Continue on self.Monero
Recent news
XMR -0.05% · coindesk.com · 1h

*laughs in Monero*

Officials from the Ministry of Economy and Finance's income tax office have reportedly been reviewing the proposal.