Allow to connect to monero-wallet-rpc when it runs without --wallet-dir option
This commit is contained in:
parent
12861a98b7
commit
73a7668d18
5 changed files with 16 additions and 10 deletions
|
@ -103,7 +103,7 @@ An HTTP server will be needed to handle HTTPS requests and serve the frontend. S
|
|||
|
||||
Install Monero node or choose a [public one](https://monero.fail/).
|
||||
|
||||
Configure and start [monero-wallet-rpc](https://monerodocs.org/interacting/monero-wallet-rpc-reference/) daemon.
|
||||
Configure and start [monero-wallet-rpc](https://monerodocs.org/interacting/monero-wallet-rpc-reference/) daemon. Add `disable-rpc-login=1` to your `monero-wallet-rpc` config (currently RPC auth is not supported in Mitra).
|
||||
|
||||
Create a wallet for your instance.
|
||||
|
||||
|
|
|
@ -51,8 +51,8 @@ registrations_open: false
|
|||
# - chain_id: monero:mainnet
|
||||
# node_url: 'http://opennode.xmr-tw.org:18089'
|
||||
# wallet_url: 'http://127.0.0.1:18083'
|
||||
# wallet_name: mitra
|
||||
# wallet_password: mitra
|
||||
# wallet_name: null
|
||||
# wallet_password: null
|
||||
|
||||
|
||||
# IPFS integration
|
||||
|
|
|
@ -385,6 +385,7 @@ impl ResetSubscriptions {
|
|||
}
|
||||
|
||||
/// Create Monero wallet
|
||||
/// (can be used when monero-wallet-rpc runs with --wallet-dir option)
|
||||
#[derive(Parser)]
|
||||
pub struct CreateMoneroWallet {
|
||||
name: String,
|
||||
|
|
|
@ -56,7 +56,9 @@ pub struct MoneroConfig {
|
|||
#[serde(alias = "daemon_url")]
|
||||
pub node_url: String,
|
||||
pub wallet_url: String,
|
||||
pub wallet_name: String,
|
||||
// Wallet name and password are required when
|
||||
// monero-wallet-rpc is running with --wallet-dir option
|
||||
pub wallet_name: Option<String>,
|
||||
pub wallet_password: Option<String>,
|
||||
}
|
||||
|
||||
|
|
|
@ -36,7 +36,7 @@ pub enum MoneroError {
|
|||
OtherError(&'static str),
|
||||
}
|
||||
|
||||
/// http://monerotoruzizulg5ttgat2emf4d6fbmiea25detrmmy7erypseyteyd.onion/resources/developer-guides/wallet-rpc.html#create_wallet
|
||||
/// https://monerodocs.org/interacting/monero-wallet-rpc-reference/#create_wallet
|
||||
pub async fn create_monero_wallet(
|
||||
config: &MoneroConfig,
|
||||
name: String,
|
||||
|
@ -48,14 +48,17 @@ pub async fn create_monero_wallet(
|
|||
Ok(())
|
||||
}
|
||||
|
||||
/// https://monerodocs.org/interacting/monero-wallet-rpc-reference/#open_wallet
|
||||
pub async fn open_monero_wallet(
|
||||
config: &MoneroConfig,
|
||||
) -> Result<WalletClient, MoneroError> {
|
||||
let wallet_client = RpcClient::new(config.wallet_url.clone()).wallet();
|
||||
wallet_client.open_wallet(
|
||||
config.wallet_name.clone(),
|
||||
config.wallet_password.clone(),
|
||||
).await?;
|
||||
if let Some(ref wallet_name) = config.wallet_name {
|
||||
wallet_client.open_wallet(
|
||||
wallet_name.clone(),
|
||||
config.wallet_password.clone(),
|
||||
).await?;
|
||||
};
|
||||
Ok(wallet_client)
|
||||
}
|
||||
|
||||
|
@ -89,7 +92,7 @@ pub async fn get_subaddress_balance(
|
|||
Ok(subaddress_data)
|
||||
}
|
||||
|
||||
/// http://monerotoruzizulg5ttgat2emf4d6fbmiea25detrmmy7erypseyteyd.onion/resources/developer-guides/wallet-rpc.html#sweep_all
|
||||
/// https://monerodocs.org/interacting/monero-wallet-rpc-reference/#sweep_all
|
||||
pub async fn send_monero(
|
||||
wallet_client: &WalletClient,
|
||||
from_address: u32,
|
||||
|
|
Loading…
Reference in a new issue