mirror of
https://github.com/XRPLF/xrpl-dev-portal.git
synced 2025-11-20 11:45:50 +00:00
Consolidated directory handling, added warning to tutorial
This commit is contained in:
@@ -6,7 +6,7 @@ const { initialize, subscribe, saveSaltedSeed, loadSaltedSeed } = require('../li
|
|||||||
|
|
||||||
const TESTNET_URL = "wss://s.altnet.rippletest.net:51233"
|
const TESTNET_URL = "wss://s.altnet.rippletest.net:51233"
|
||||||
|
|
||||||
const WALLET_DIR = 'Wallet'
|
const WALLET_DIR = '../Wallet'
|
||||||
|
|
||||||
const createWindow = () => {
|
const createWindow = () => {
|
||||||
|
|
||||||
@@ -27,7 +27,7 @@ const main = async () => {
|
|||||||
const appWindow = createWindow()
|
const appWindow = createWindow()
|
||||||
|
|
||||||
// Create Wallet directory in case it does not exist yet
|
// Create Wallet directory in case it does not exist yet
|
||||||
if (!fs.existsSync(WALLET_DIR)) {
|
if (!fs.existsSync(path.join(__dirname, WALLET_DIR))) {
|
||||||
fs.mkdirSync(path.join(__dirname, WALLET_DIR));
|
fs.mkdirSync(path.join(__dirname, WALLET_DIR));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -40,9 +40,9 @@ const main = async () => {
|
|||||||
|
|
||||||
ipcMain.on('password-entered', async (event, password) => {
|
ipcMain.on('password-entered', async (event, password) => {
|
||||||
if (!fs.existsSync(path.join(__dirname, WALLET_DIR , 'seed.txt'))) {
|
if (!fs.existsSync(path.join(__dirname, WALLET_DIR , 'seed.txt'))) {
|
||||||
saveSaltedSeed('../' + WALLET_DIR, seed, password)
|
saveSaltedSeed(WALLET_DIR, seed, password)
|
||||||
} else {
|
} else {
|
||||||
seed = loadSaltedSeed('../' + WALLET_DIR, password)
|
seed = loadSaltedSeed(WALLET_DIR, password)
|
||||||
}
|
}
|
||||||
|
|
||||||
const wallet = xrpl.Wallet.fromSeed(seed)
|
const wallet = xrpl.Wallet.fromSeed(seed)
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ const { initialize, subscribe, saveSaltedSeed, loadSaltedSeed } = require('../li
|
|||||||
|
|
||||||
const TESTNET_URL = "wss://s.altnet.rippletest.net:51233"
|
const TESTNET_URL = "wss://s.altnet.rippletest.net:51233"
|
||||||
|
|
||||||
const WALLET_DIR = 'Wallet'
|
const WALLET_DIR = '../Wallet'
|
||||||
|
|
||||||
const createWindow = () => {
|
const createWindow = () => {
|
||||||
|
|
||||||
@@ -26,8 +26,8 @@ const createWindow = () => {
|
|||||||
const main = async () => {
|
const main = async () => {
|
||||||
const appWindow = createWindow()
|
const appWindow = createWindow()
|
||||||
|
|
||||||
if (!fs.existsSync(WALLET_DIR)) {
|
|
||||||
// Create Wallet directory in case it does not exist yet
|
// Create Wallet directory in case it does not exist yet
|
||||||
|
if (!fs.existsSync(path.join(__dirname, WALLET_DIR))) {
|
||||||
fs.mkdirSync(path.join(__dirname, WALLET_DIR));
|
fs.mkdirSync(path.join(__dirname, WALLET_DIR));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -40,9 +40,9 @@ const main = async () => {
|
|||||||
|
|
||||||
ipcMain.on('password-entered', async (event, password) => {
|
ipcMain.on('password-entered', async (event, password) => {
|
||||||
if (!fs.existsSync(path.join(__dirname, WALLET_DIR , 'seed.txt'))) {
|
if (!fs.existsSync(path.join(__dirname, WALLET_DIR , 'seed.txt'))) {
|
||||||
saveSaltedSeed('../' + WALLET_DIR, seed, password)
|
saveSaltedSeed(WALLET_DIR, seed, password)
|
||||||
} else {
|
} else {
|
||||||
seed = loadSaltedSeed('../' + WALLET_DIR, password)
|
seed = loadSaltedSeed(WALLET_DIR, password)
|
||||||
}
|
}
|
||||||
|
|
||||||
const wallet = xrpl.Wallet.fromSeed(seed)
|
const wallet = xrpl.Wallet.fromSeed(seed)
|
||||||
@@ -54,7 +54,6 @@ const main = async () => {
|
|||||||
await subscribe(client, wallet, appWindow)
|
await subscribe(client, wallet, appWindow)
|
||||||
|
|
||||||
await initialize(client, wallet, appWindow)
|
await initialize(client, wallet, appWindow)
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|
||||||
ipcMain.on('request-seed-change', (event) => {
|
ipcMain.on('request-seed-change', (event) => {
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ const { sendXrp } = require('../library/7_helpers')
|
|||||||
|
|
||||||
const TESTNET_URL = "wss://s.altnet.rippletest.net:51233"
|
const TESTNET_URL = "wss://s.altnet.rippletest.net:51233"
|
||||||
|
|
||||||
const WALLET_DIR = 'Wallet'
|
const WALLET_DIR = '../Wallet'
|
||||||
|
|
||||||
const createWindow = () => {
|
const createWindow = () => {
|
||||||
|
|
||||||
@@ -27,8 +27,8 @@ const createWindow = () => {
|
|||||||
const main = async () => {
|
const main = async () => {
|
||||||
const appWindow = createWindow()
|
const appWindow = createWindow()
|
||||||
|
|
||||||
if (!fs.existsSync(WALLET_DIR)) {
|
|
||||||
// Create Wallet directory in case it does not exist yet
|
// Create Wallet directory in case it does not exist yet
|
||||||
|
if (!fs.existsSync(path.join(__dirname, WALLET_DIR))) {
|
||||||
fs.mkdirSync(path.join(__dirname, WALLET_DIR));
|
fs.mkdirSync(path.join(__dirname, WALLET_DIR));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -41,9 +41,9 @@ const main = async () => {
|
|||||||
|
|
||||||
ipcMain.on('password-entered', async (event, password) => {
|
ipcMain.on('password-entered', async (event, password) => {
|
||||||
if (!fs.existsSync(path.join(__dirname, WALLET_DIR , 'seed.txt'))) {
|
if (!fs.existsSync(path.join(__dirname, WALLET_DIR , 'seed.txt'))) {
|
||||||
saveSaltedSeed('../' + WALLET_DIR, seed, password)
|
saveSaltedSeed(WALLET_DIR, seed, password)
|
||||||
} else {
|
} else {
|
||||||
seed = loadSaltedSeed('../' + WALLET_DIR, password)
|
seed = loadSaltedSeed(WALLET_DIR, password)
|
||||||
}
|
}
|
||||||
|
|
||||||
const wallet = xrpl.Wallet.fromSeed(seed)
|
const wallet = xrpl.Wallet.fromSeed(seed)
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ const { verify } = require('../library/8_helpers')
|
|||||||
|
|
||||||
const TESTNET_URL = "wss://s.altnet.rippletest.net:51233"
|
const TESTNET_URL = "wss://s.altnet.rippletest.net:51233"
|
||||||
|
|
||||||
const WALLET_DIR = 'Wallet'
|
const WALLET_DIR = '../Wallet'
|
||||||
|
|
||||||
const createWindow = () => {
|
const createWindow = () => {
|
||||||
|
|
||||||
@@ -28,8 +28,8 @@ const createWindow = () => {
|
|||||||
const main = async () => {
|
const main = async () => {
|
||||||
const appWindow = createWindow()
|
const appWindow = createWindow()
|
||||||
|
|
||||||
if (!fs.existsSync(WALLET_DIR)) {
|
|
||||||
// Create Wallet directory in case it does not exist yet
|
// Create Wallet directory in case it does not exist yet
|
||||||
|
if (!fs.existsSync(path.join(__dirname, WALLET_DIR))) {
|
||||||
fs.mkdirSync(path.join(__dirname, WALLET_DIR));
|
fs.mkdirSync(path.join(__dirname, WALLET_DIR));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -42,9 +42,9 @@ const main = async () => {
|
|||||||
|
|
||||||
ipcMain.on('password-entered', async (event, password) => {
|
ipcMain.on('password-entered', async (event, password) => {
|
||||||
if (!fs.existsSync(path.join(__dirname, WALLET_DIR , 'seed.txt'))) {
|
if (!fs.existsSync(path.join(__dirname, WALLET_DIR , 'seed.txt'))) {
|
||||||
saveSaltedSeed('../' + WALLET_DIR, seed, password)
|
saveSaltedSeed(WALLET_DIR, seed, password)
|
||||||
} else {
|
} else {
|
||||||
seed = loadSaltedSeed('../' + WALLET_DIR, password)
|
seed = loadSaltedSeed(WALLET_DIR, password)
|
||||||
}
|
}
|
||||||
|
|
||||||
const wallet = xrpl.Wallet.fromSeed(seed)
|
const wallet = xrpl.Wallet.fromSeed(seed)
|
||||||
|
|||||||
@@ -23,7 +23,9 @@ To complete this tutorial, you should meet the following requirements:
|
|||||||
|
|
||||||
### Source Code
|
### Source Code
|
||||||
|
|
||||||
You can find the complete source code for all of this tutorial's examples in the [code samples section of this website's repository]({{target.github_forkurl}}/tree/{{target.github_branch}}/content/_code-samples/build-a-wallet/desktop-js/).
|
You can find the complete source code for all of this tutorial's examples in the [code samples section of this website's repository]({{target.github_forkurl}}/tree/{{target.github_branch}}/content/_code-samples/build-a-wallet/desktop-js/). After a `npm install` in this directory you can run the application for each step as described in the `scripts` section of `package.json`, e.g, `npm run ledger-index`.
|
||||||
|
|
||||||
|
**Caution:** As the source code is grouped into one folder for each step, you have to be careful should you copy-and-paste directly from there. Some shared imports and file operations have different directories in these examples. This goes for everything to do with `library`, `bootstrap`, and `WALLET_DIR`.
|
||||||
|
|
||||||
## Rationale
|
## Rationale
|
||||||
|
|
||||||
@@ -54,8 +56,7 @@ The application in this tutorial _doesn't_ have the ability to send or trade [to
|
|||||||
use other [payment types](payment-types.html) like [Escrow](https://xrpl.org/escrow.html) or [Payment Channels](https://xrpl.org/payment-channels.html). However, it provides a foundation
|
use other [payment types](payment-types.html) like [Escrow](https://xrpl.org/escrow.html) or [Payment Channels](https://xrpl.org/payment-channels.html). However, it provides a foundation
|
||||||
that you can implement those and other features on top of.
|
that you can implement those and other features on top of.
|
||||||
|
|
||||||
In addition to the above features, you'll also learn a bit about Events, IPC (inter-process-communication)
|
In addition to the above features, you'll also learn a bit about Events, IPC (inter-process-communication) and asynchronous (async) code in JavaScript.
|
||||||
and asynchronous (async) code in JavaScript.
|
|
||||||
|
|
||||||
## Steps
|
## Steps
|
||||||
|
|
||||||
@@ -830,7 +831,7 @@ const main = async () => {
|
|||||||
const appWindow = createWindow()
|
const appWindow = createWindow()
|
||||||
|
|
||||||
// Create Wallet directory in case it does not exist yet
|
// Create Wallet directory in case it does not exist yet
|
||||||
if (!fs.existsSync(WALLET_DIR)) {
|
if (!fs.existsSync(path.join(__dirname, WALLET_DIR))) {
|
||||||
fs.mkdirSync(path.join(__dirname, WALLET_DIR));
|
fs.mkdirSync(path.join(__dirname, WALLET_DIR));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user