diff --git a/i18n/ar/docusaurus-plugin-content-docs/current/core/core-developer-quickstart.md b/i18n/ar/docusaurus-plugin-content-docs/current/core/core-developer-quickstart.md
index 76801fbdf4..cdb3b9473a 100644
--- a/i18n/ar/docusaurus-plugin-content-docs/current/core/core-developer-quickstart.md
+++ b/i18n/ar/docusaurus-plugin-content-docs/current/core/core-developer-quickstart.md
@@ -143,7 +143,7 @@ If your account does not have enough balance, you will encounter the following e
## Resources
-1. Check [js-conflux-sdk's documentation](https://docs.confluxnetwork.org/js-conflux-sdk/) for more details
+1. Check [js-conflux-sdk's documentation](https://confluxnetwork.gitbook.io/js-conflux-sdk) for more details
2. Refer to [SDKs](./build/sdks-and-tools/sdks.md) for examples of other SDKs.
3. [Core Space Faucet](https://faucet.confluxnetwork.org/)
4. [Conflux Core Scan](https://confluxscan.io/)
diff --git a/i18n/ar/docusaurus-plugin-content-docs/current/core/core-endpoints.md b/i18n/ar/docusaurus-plugin-content-docs/current/core/core-endpoints.md
index 8aca1674f9..48950b2f77 100644
--- a/i18n/ar/docusaurus-plugin-content-docs/current/core/core-endpoints.md
+++ b/i18n/ar/docusaurus-plugin-content-docs/current/core/core-endpoints.md
@@ -46,7 +46,7 @@ Chain ID for Conflux Core Space Testnet is `1(0x1)`. The corresponding blockchai
| https://test.confluxrpc.com | HTTP | |
| https://cfxtest.confluxrpc.com | HTTP | |
| https://test.confluxrpc.org | HTTP | Backup RPC Service |
-| wss://test.confluxrpc.org/com | Websocket | |
+| wss://test.confluxrpc.com/ws | Websocket | |
| wss://test.confluxrpc.org/ws | Websocket | |
### Rate Limits
diff --git a/i18n/ar/docusaurus-plugin-content-docs/current/core/core-space-basics/transactions/receipt.md b/i18n/ar/docusaurus-plugin-content-docs/current/core/core-space-basics/transactions/receipt.md
index bacf1fa784..44d885222e 100644
--- a/i18n/ar/docusaurus-plugin-content-docs/current/core/core-space-basics/transactions/receipt.md
+++ b/i18n/ar/docusaurus-plugin-content-docs/current/core/core-space-basics/transactions/receipt.md
@@ -30,7 +30,7 @@ For detailed information about each field, you can refer to the API documentatio
The logs field in the Receipt is an array containing all the logs generated during the transaction execution process. When interacting with a contract, the contract can produce logs or events using emit statements. After the transaction is executed, these logs are recorded in the transaction receipt. In Solidity, [Events](https://docs.soliditylang.org/en/v0.8.23/contracts.html#events) are designed to log information about the execution of contract methods, providing detailed information about contract execution through events.
-You can retrieve logs using the [cfx_getLogs](/docs/core/build/json-rpc/cfx-namespace#cfx_getlogs) method and decode the log data using the [abi.decode](https://docs.soliditylang.org/en/v0.8.23/contracts.html#events) method. Conflux SDKs also provide methods to help decoding the logs, for example, [javascript](https://docs.confluxnetwork.org/js-conflux-sdk/docs/interact_with_contract#how-to-decode-log) and [python](https://python-conflux-sdk.readthedocs.io/en/latest/examples/05-interact_with_contracts_and_process_logs.html#process-logs).
+You can retrieve logs using the [cfx_getLogs](/docs/core/build/json-rpc/cfx-namespace#cfx_getlogs) method and decode the log data using the [abi.decode](https://docs.soliditylang.org/en/v0.8.23/contracts.html#events) method. Conflux SDKs also provide methods to help decoding the logs, for example, [javascript](https://confluxnetwork.gitbook.io/js-conflux-sdk/docs/interact_with_contract#how-to-decode-log) and [python](https://python-conflux-sdk.readthedocs.io/en/latest/examples/05-interact_with_contracts_and_process_logs.html#process-logs).
## Execution Failure
diff --git a/i18n/ar/docusaurus-plugin-content-docs/current/core/tutorials/js-conflux-sdk.md b/i18n/ar/docusaurus-plugin-content-docs/current/core/tutorials/js-conflux-sdk.md
index a9adf41bc9..568df47d6e 100644
--- a/i18n/ar/docusaurus-plugin-content-docs/current/core/tutorials/js-conflux-sdk.md
+++ b/i18n/ar/docusaurus-plugin-content-docs/current/core/tutorials/js-conflux-sdk.md
@@ -15,7 +15,7 @@ The [Developer Quickstart](../core-developer-quickstart.md) demonstrates how to
- Unit Conversion
- Hashing and Signing
-For further details and examples, please refer to the [js-conflux-sdk documentation](https://docs.confluxnetwork.org/js-conflux-sdk/).
+For further details and examples, please refer to the [js-conflux-sdk documentation](https://confluxnetwork.gitbook.io/js-conflux-sdk).
## Account Generation
@@ -126,7 +126,7 @@ async function main() {
}
```
-Consult the sdk's [Contract interaction guide](https://docs.confluxnetwork.org/js-conflux-sdk/docs/interact_with_contract) for more information.
+Consult the sdk's [Contract interaction guide](https://confluxnetwork.gitbook.io/js-conflux-sdk/docs/interact_with_contract) for more information.
## Common Utilities
diff --git a/i18n/ar/docusaurus-plugin-content-docs/current/core/tutorials/nft-tutorials/crc1155.md b/i18n/ar/docusaurus-plugin-content-docs/current/core/tutorials/nft-tutorials/crc1155.md
index a5a63d5356..e0c6bf4f3a 100644
--- a/i18n/ar/docusaurus-plugin-content-docs/current/core/tutorials/nft-tutorials/crc1155.md
+++ b/i18n/ar/docusaurus-plugin-content-docs/current/core/tutorials/nft-tutorials/crc1155.md
@@ -46,7 +46,7 @@ Install the OpenZeppelin contracts for a secure, audited implementation of ERC11
npm install @openzeppelin/contracts hardhat-conflux js-conflux-sdk
```
-For additional information, refer to the [Hardhat Conflux Plugin Tutorials](/docs/core/tutorials/hardhat-conflux-plugin) and [JS-Conflux-SDK Documentation](https://docs.confluxnetwork.org/js-conflux-sdk).
+For additional information, refer to the [Hardhat Conflux Plugin Tutorials](/docs/core/tutorials/hardhat-conflux-plugin) and [JS-Conflux-SDK Documentation](https://confluxnetwork.gitbook.io/js-conflux-sdk).
## Step 3: Writing the Smart Contract
diff --git a/i18n/ar/docusaurus-plugin-content-docs/current/core/tutorials/nft-tutorials/crc721.md b/i18n/ar/docusaurus-plugin-content-docs/current/core/tutorials/nft-tutorials/crc721.md
index 614dc9f0e1..7e6a18ce80 100644
--- a/i18n/ar/docusaurus-plugin-content-docs/current/core/tutorials/nft-tutorials/crc721.md
+++ b/i18n/ar/docusaurus-plugin-content-docs/current/core/tutorials/nft-tutorials/crc721.md
@@ -48,7 +48,7 @@ npm install @openzeppelin/contracts hardhat-conflux js-conflux-sdk
```
For additional information on the Hardhat-Conflux-Plugin, please refer to the [Hardhat Conflux Plugin Tutorials](/docs/core/tutorials/hardhat-conflux-plugin).
-To learn more about the JS-Conflux-SDK, please visit the [JS-Conflux-SDK Documentation](https://docs.confluxnetwork.org/js-conflux-sdk).
+To learn more about the JS-Conflux-SDK, please visit the [JS-Conflux-SDK Documentation](https://confluxnetwork.gitbook.io/js-conflux-sdk).
## Step 3: Writing the Smart Contract
diff --git a/i18n/ar/docusaurus-plugin-content-docs/current/general/blockchain-security/backup-wallet.md b/i18n/ar/docusaurus-plugin-content-docs/current/general/blockchain-security/backup-wallet.md
new file mode 100644
index 0000000000..b0ea1e65d8
--- /dev/null
+++ b/i18n/ar/docusaurus-plugin-content-docs/current/general/blockchain-security/backup-wallet.md
@@ -0,0 +1,91 @@
+---
+displayed_sidebar: generalSidebar
+sidebar_position: 2
+---
+
+# Security Advice for Wallet Backup
+
+## 1. Mnemonic Phrases/Private Keys Backup
+
+### Plaintext Mnemonic Phrases
+
+Mnemonic phrases typically consist of 12 or 24 English words, following the BIP39 standard to ensure interoperability, for example: "witch collapse practice feed shame open despair creek road again ice least".
+
+#### Security Recommendations:
+
+- Consider using special "obfuscation modes", such as rearranging words alphabetically or reversing every other word
+- Be cautious when replacing words; you can use synonyms or custom rules, but make sure you can remember them
+- Example: Replace the 3rd, 7th, and 11th words with their antonyms
+
+### Mnemonic Phrases with Passphrase
+
+Passphrase, sometimes referred to as the “25th word,” enhances security by adding an extra layer of protection to the seed generation process, making brute-force attacks significantly more challenging. It’s crucial to back up both the mnemonic phrase and the passphrase securely.
+
+#### Security Recommendations:
+
+- Choose a strong password, avoiding birthdays, common words, etc.
+- Consider using a password manager to generate and store the password
+- Example: Use [1Password](https://1password.com/) to generate a strong password like `"X2$9Pz#mK@Lq"`
+
+## 2. Advanced Backup Strategies
+
+### Cloud Storage Backup
+
+Advantages include easy access and multiple redundancies, but there are risks of potential hacking attacks and service provider data breaches.
+
+#### Security Enhancement Measures:
+
+- Use client-side encrypted cloud services like [Tresorit](https://tresorit.com/) or [Cryptomator](https://cryptomator.org/)
+- Implement two-factor authentication (2FA)
+- Use strong, unique passwords
+- Apply additional encryption using [GPG](https://www.gnupg.org/) or [VeraCrypt](https://www.veracrypt.fr/) before uploading
+- GPG encryption command example:
+ ```
+ gpg --encrypt --recipient your@email.com wallet_backup.txt
+ ```
+
+### Advanced Paper Backups
+
+Use waterproof, fireproof paper and consider steganography techniques to further enhance the security and privacy protection of paper backups.
+
+#### Security Enhancement Measures:
+
+- Use password-protected QR codes to store mnemonic phrases
+- Encode mnemonic phrases as stories or drawings
+- Create durable backups using professional metal etching tools
+- Example: Use metal storage devices like [Cryptosteel](https://cryptosteel.com/) or [Billfodl](https://shop.ledger.com/products/the-billfodl)
+
+### Cold Storage Devices
+
+- Use dedicated hardware wallets like [Ledger](https://www.ledger.com/) or [Trezor](https://trezor.io/)
+- Use offline computers for cold storage
+
+#### Security Enhancement Measures:
+
+- Regularly update firmware
+- Use complex PIN codes
+- Enable advanced security features, such as Ledger's anti-phishing word verification
+- Consider using multiple hardware wallets stored in different locations
+
+## 3. Backup Security Principles and Practices
+
+### Regular Security Audits
+
+Regularly check the integrity and accessibility of all backups, and update security measures to address new threats
+
+#### Audit Checklist:
+
+- Verify the readability of all backups
+- Test recovery processes
+- Check for hardware wallet firmware updates
+- Review access controls and password strength
+
+### Social Engineering Attack Prevention
+
+Develop a comprehensive understanding of phishing and scam tactics to enhance your security awareness and protect your digital assets.
+
+#### Preventive Measures:
+
+- Never share complete mnemonic phrases or private keys online
+- Use official websites and apps, verify download sources
+- Be wary of unsolicited "help" on social media and instant messaging
diff --git a/i18n/ar/docusaurus-plugin-content-docs/current/general/blockchain-security/create-wallet.md b/i18n/ar/docusaurus-plugin-content-docs/current/general/blockchain-security/create-wallet.md
index 2217eab109..b94a49522f 100644
--- a/i18n/ar/docusaurus-plugin-content-docs/current/general/blockchain-security/create-wallet.md
+++ b/i18n/ar/docusaurus-plugin-content-docs/current/general/blockchain-security/create-wallet.md
@@ -1,5 +1,6 @@
---
displayed_sidebar: generalSidebar
+sidebar_position: 1
---
# Security Advice for Creating a Wallet
diff --git a/i18n/ar/docusaurus-plugin-content-docs/current/general/build/smart-contracts/gas-optimization/erc20permit.md b/i18n/ar/docusaurus-plugin-content-docs/current/general/build/smart-contracts/gas-optimization/erc20permit.md
new file mode 100644
index 0000000000..3a5e193f68
--- /dev/null
+++ b/i18n/ar/docusaurus-plugin-content-docs/current/general/build/smart-contracts/gas-optimization/erc20permit.md
@@ -0,0 +1,151 @@
+---
+displayed_sidebar: generalSidebar
+---
+
+# ERC20Permit
+
+In standard ERC20, users typically need to execute two separate transactions:
+
+1. **Approval (approve)**: The user authorizes a certain amount of tokens to a recipient.
+2. **Transfer (transferFrom)**: The recipient transfers tokens from the user's account.
+
+This approach not only increases gas costs but also diminishes user experience. By using ERC20Permit, we can merge these two steps into a single transaction, thereby saving gas and simplifying the process.
+
+### Gas Optimization Comparison
+
+**Standard ERC20 Process**
+
+1. User calls `approve(spender, amount)`: approximately 50,000 gas
+2. Recipient calls `transferFrom(owner, recipient, amount)`: approximately 65,000 gas
+
+**Optimized Process Using ERC20Permit**
+
+1. User generates a signature (off-chain operation, no gas cost)
+2. Recipient calls `transferWithPermit` (including permit and transferFrom): approximately 80,000 gas
+
+**Savings**: approximately 35,000 gas, equivalent to a 30% gas reduction.
+
+### Example Code
+
+#### Standard ERC20 Implementation
+
+```solidity
+// SPDX-License-Identifier: MIT
+pragma solidity ^0.8.20;
+
+import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
+
+// Standard ERC20 implementation
+contract StandardToken is ERC20 {
+ constructor() ERC20("StandardToken", "STD") {
+ _mint(msg.sender, 1000000 * 10**decimals());
+ }
+}
+```
+
+#### Optimized Implementation Using ERC20Permit
+
+```solidity
+// SPDX-License-Identifier: MIT
+pragma solidity ^0.8.20;
+
+import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol";
+import "@openzeppelin/contracts/utils/cryptography/ECDSA.sol";
+
+contract OptimizedToken is ERC20Permit {
+ constructor() ERC20("OptimizedToken", "OPT") ERC20Permit("OptimizedToken") {
+ _mint(msg.sender, 1000000 * 10**decimals());
+ }
+
+ function transferWithPermit(
+ address owner,
+ address spender,
+ uint256 value,
+ uint256 deadline,
+ uint8 v,
+ bytes32 r,
+ bytes32 s
+ ) external {
+ // Call permit to authorize the spender
+ permit(owner, spender, value, deadline, v, r, s);
+
+ // Transfer tokens from owner to msg.sender
+ transferFrom(owner, msg.sender, value);
+ }
+}
+```
+
+#### Frontend Implementation
+
+Example of implementing ERC20 Permit signature using Ethers.js v6:
+
+```javascript
+import { ethers } from "ethers";
+
+async function signERC20Permit(contract, owner, spender, value, deadline, nonce) {
+ const provider = new ethers.BrowserProvider(window.ethereum);
+ const signer = await provider.getSigner();
+
+ const domain = {
+ name: await contract.name(),
+ version: '1',
+ chainId: (await provider.getNetwork()).chainId,
+ verifyingContract: await contract.getAddress()
+ };
+
+ const types = {
+ Permit: [
+ { name: 'owner', type: 'address' },
+ { name: 'spender', type: 'address' },
+ { name: 'value', type: 'uint256' },
+ { name: 'nonce', type: 'uint256' },
+ { name: 'deadline', type: 'uint256' }
+ ]
+ };
+
+ const message = {
+ owner,
+ spender,
+ value,
+ nonce,
+ deadline
+ };
+
+ const signature = await signer.signTypedData(domain, types, message);
+ const { v, r, s } = ethers.Signature.from(signature);
+
+ return { v, r, s };
+}
+
+// Usage example
+const abi = [
+ "function transferWithPermit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s)"
+];
+
+const provider = new ethers.BrowserProvider(window.ethereum);
+const signer = await provider.getSigner();
+const contract = new ethers.Contract(tokenAddress, abi, signer);
+
+const owner = await signer.getAddress();
+const spender = '0x...'; // Address to be authorized
+const value = ethers.parseUnits('100', 18); // Amount to authorize
+const deadline = Math.floor(Date.now() / 1000) + 60 * 60; // Expires in 1 hour
+const nonce = await contract.nonces(owner);
+
+const { v, r, s } = await signERC20Permit(contract, owner, spender, value, deadline, nonce);
+
+// Call the transferWithPermit function of the contract
+await contract.transferWithPermit(owner, spender, value, deadline, v, r, s);
+```
+
+### Advantages of ERC20Permit
+
+- **Reduced Transaction Count**: Merges approval and transfer into a single transaction, saving gas.
+- **Improved User Experience**: Token holders do not need to pay gas fees for approvals.
+- **Batch Processing**: Recipients can batch multiple permit and transferFrom operations in one transaction, further reducing gas consumption.
+
+By adopting ERC20Permit, you can create a smoother and more cost-effective token interaction experience for users while reducing the overall load on the blockchain network.
+
+**Gas Optimization Recommendations**
+
+🌟 In scenarios where frequent approvals and transfers are needed, consider using ERC20Permit. This can significantly reduce the number of transactions and overall gas consumption for users.
diff --git a/i18n/ar/docusaurus-plugin-content-docs/current/general/tutorials/wallets/wallets.mdx b/i18n/ar/docusaurus-plugin-content-docs/current/general/tutorials/wallets/wallets.mdx
index 26547df697..10d501dcbe 100644
--- a/i18n/ar/docusaurus-plugin-content-docs/current/general/tutorials/wallets/wallets.mdx
+++ b/i18n/ar/docusaurus-plugin-content-docs/current/general/tutorials/wallets/wallets.mdx
@@ -24,14 +24,27 @@ Wallets supported depend on the Space you plan to interact with.
For more information about each wallet, please navigate to the corresponding section.
+For the security of your wallet, you can also read the articles below.
+
+- [Security Advice for Creating a Wallet](/docs/general/blockchain-security/create-wallet)
+- [Security Advice for Wallet Backup](/docs/general/blockchain-security/backup-wallet)
+
If you want to learn more about Conflux supporting wallets, please checkout the following video:
-import Tabs from '@theme/Tabs';
-import TabItem from '@theme/TabItem';
+import Tabs from "@theme/Tabs";
+import TabItem from "@theme/TabItem";
-
+
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/core/core-developer-quickstart.md b/i18n/es/docusaurus-plugin-content-docs/current/core/core-developer-quickstart.md
index 89cea5326f..fe0f0bd2f7 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/core/core-developer-quickstart.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/core/core-developer-quickstart.md
@@ -143,7 +143,7 @@ If your account does not have enough balance, you will encounter the following e
## Resources
-1. Check [js-conflux-sdk's documentation](https://docs.confluxnetwork.org/js-conflux-sdk/) for more details
+1. Check [js-conflux-sdk's documentation](https://confluxnetwork.gitbook.io/js-conflux-sdk) for more details
2. Refer to [SDKs](./build/sdks-and-tools/sdks.md) for examples of other SDKs.
3. [Core Space Faucet](https://faucet.confluxnetwork.org/)
4. [Conflux Core Scan](https://confluxscan.io/)
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/core/core-endpoints.md b/i18n/es/docusaurus-plugin-content-docs/current/core/core-endpoints.md
index 8aca1674f9..48950b2f77 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/core/core-endpoints.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/core/core-endpoints.md
@@ -46,7 +46,7 @@ Chain ID for Conflux Core Space Testnet is `1(0x1)`. The corresponding blockchai
| https://test.confluxrpc.com | HTTP | |
| https://cfxtest.confluxrpc.com | HTTP | |
| https://test.confluxrpc.org | HTTP | Backup RPC Service |
-| wss://test.confluxrpc.org/com | Websocket | |
+| wss://test.confluxrpc.com/ws | Websocket | |
| wss://test.confluxrpc.org/ws | Websocket | |
### Rate Limits
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/core/core-space-basics/transactions/receipt.md b/i18n/es/docusaurus-plugin-content-docs/current/core/core-space-basics/transactions/receipt.md
index bacf1fa784..44d885222e 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/core/core-space-basics/transactions/receipt.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/core/core-space-basics/transactions/receipt.md
@@ -30,7 +30,7 @@ For detailed information about each field, you can refer to the API documentatio
The logs field in the Receipt is an array containing all the logs generated during the transaction execution process. When interacting with a contract, the contract can produce logs or events using emit statements. After the transaction is executed, these logs are recorded in the transaction receipt. In Solidity, [Events](https://docs.soliditylang.org/en/v0.8.23/contracts.html#events) are designed to log information about the execution of contract methods, providing detailed information about contract execution through events.
-You can retrieve logs using the [cfx_getLogs](/docs/core/build/json-rpc/cfx-namespace#cfx_getlogs) method and decode the log data using the [abi.decode](https://docs.soliditylang.org/en/v0.8.23/contracts.html#events) method. Conflux SDKs also provide methods to help decoding the logs, for example, [javascript](https://docs.confluxnetwork.org/js-conflux-sdk/docs/interact_with_contract#how-to-decode-log) and [python](https://python-conflux-sdk.readthedocs.io/en/latest/examples/05-interact_with_contracts_and_process_logs.html#process-logs).
+You can retrieve logs using the [cfx_getLogs](/docs/core/build/json-rpc/cfx-namespace#cfx_getlogs) method and decode the log data using the [abi.decode](https://docs.soliditylang.org/en/v0.8.23/contracts.html#events) method. Conflux SDKs also provide methods to help decoding the logs, for example, [javascript](https://confluxnetwork.gitbook.io/js-conflux-sdk/docs/interact_with_contract#how-to-decode-log) and [python](https://python-conflux-sdk.readthedocs.io/en/latest/examples/05-interact_with_contracts_and_process_logs.html#process-logs).
## Execution Failure
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/core/tutorials/js-conflux-sdk.md b/i18n/es/docusaurus-plugin-content-docs/current/core/tutorials/js-conflux-sdk.md
index a9adf41bc9..568df47d6e 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/core/tutorials/js-conflux-sdk.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/core/tutorials/js-conflux-sdk.md
@@ -15,7 +15,7 @@ The [Developer Quickstart](../core-developer-quickstart.md) demonstrates how to
- Unit Conversion
- Hashing and Signing
-For further details and examples, please refer to the [js-conflux-sdk documentation](https://docs.confluxnetwork.org/js-conflux-sdk/).
+For further details and examples, please refer to the [js-conflux-sdk documentation](https://confluxnetwork.gitbook.io/js-conflux-sdk).
## Account Generation
@@ -126,7 +126,7 @@ async function main() {
}
```
-Consult the sdk's [Contract interaction guide](https://docs.confluxnetwork.org/js-conflux-sdk/docs/interact_with_contract) for more information.
+Consult the sdk's [Contract interaction guide](https://confluxnetwork.gitbook.io/js-conflux-sdk/docs/interact_with_contract) for more information.
## Common Utilities
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/core/tutorials/nft-tutorials/crc1155.md b/i18n/es/docusaurus-plugin-content-docs/current/core/tutorials/nft-tutorials/crc1155.md
index a5a63d5356..e0c6bf4f3a 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/core/tutorials/nft-tutorials/crc1155.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/core/tutorials/nft-tutorials/crc1155.md
@@ -46,7 +46,7 @@ Install the OpenZeppelin contracts for a secure, audited implementation of ERC11
npm install @openzeppelin/contracts hardhat-conflux js-conflux-sdk
```
-For additional information, refer to the [Hardhat Conflux Plugin Tutorials](/docs/core/tutorials/hardhat-conflux-plugin) and [JS-Conflux-SDK Documentation](https://docs.confluxnetwork.org/js-conflux-sdk).
+For additional information, refer to the [Hardhat Conflux Plugin Tutorials](/docs/core/tutorials/hardhat-conflux-plugin) and [JS-Conflux-SDK Documentation](https://confluxnetwork.gitbook.io/js-conflux-sdk).
## Step 3: Writing the Smart Contract
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/core/tutorials/nft-tutorials/crc721.md b/i18n/es/docusaurus-plugin-content-docs/current/core/tutorials/nft-tutorials/crc721.md
index 614dc9f0e1..7e6a18ce80 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/core/tutorials/nft-tutorials/crc721.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/core/tutorials/nft-tutorials/crc721.md
@@ -48,7 +48,7 @@ npm install @openzeppelin/contracts hardhat-conflux js-conflux-sdk
```
For additional information on the Hardhat-Conflux-Plugin, please refer to the [Hardhat Conflux Plugin Tutorials](/docs/core/tutorials/hardhat-conflux-plugin).
-To learn more about the JS-Conflux-SDK, please visit the [JS-Conflux-SDK Documentation](https://docs.confluxnetwork.org/js-conflux-sdk).
+To learn more about the JS-Conflux-SDK, please visit the [JS-Conflux-SDK Documentation](https://confluxnetwork.gitbook.io/js-conflux-sdk).
## Step 3: Writing the Smart Contract
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/general/blockchain-security/backup-wallet.md b/i18n/es/docusaurus-plugin-content-docs/current/general/blockchain-security/backup-wallet.md
new file mode 100644
index 0000000000..b0ea1e65d8
--- /dev/null
+++ b/i18n/es/docusaurus-plugin-content-docs/current/general/blockchain-security/backup-wallet.md
@@ -0,0 +1,91 @@
+---
+displayed_sidebar: generalSidebar
+sidebar_position: 2
+---
+
+# Security Advice for Wallet Backup
+
+## 1. Mnemonic Phrases/Private Keys Backup
+
+### Plaintext Mnemonic Phrases
+
+Mnemonic phrases typically consist of 12 or 24 English words, following the BIP39 standard to ensure interoperability, for example: "witch collapse practice feed shame open despair creek road again ice least".
+
+#### Security Recommendations:
+
+- Consider using special "obfuscation modes", such as rearranging words alphabetically or reversing every other word
+- Be cautious when replacing words; you can use synonyms or custom rules, but make sure you can remember them
+- Example: Replace the 3rd, 7th, and 11th words with their antonyms
+
+### Mnemonic Phrases with Passphrase
+
+Passphrase, sometimes referred to as the “25th word,” enhances security by adding an extra layer of protection to the seed generation process, making brute-force attacks significantly more challenging. It’s crucial to back up both the mnemonic phrase and the passphrase securely.
+
+#### Security Recommendations:
+
+- Choose a strong password, avoiding birthdays, common words, etc.
+- Consider using a password manager to generate and store the password
+- Example: Use [1Password](https://1password.com/) to generate a strong password like `"X2$9Pz#mK@Lq"`
+
+## 2. Advanced Backup Strategies
+
+### Cloud Storage Backup
+
+Advantages include easy access and multiple redundancies, but there are risks of potential hacking attacks and service provider data breaches.
+
+#### Security Enhancement Measures:
+
+- Use client-side encrypted cloud services like [Tresorit](https://tresorit.com/) or [Cryptomator](https://cryptomator.org/)
+- Implement two-factor authentication (2FA)
+- Use strong, unique passwords
+- Apply additional encryption using [GPG](https://www.gnupg.org/) or [VeraCrypt](https://www.veracrypt.fr/) before uploading
+- GPG encryption command example:
+ ```
+ gpg --encrypt --recipient your@email.com wallet_backup.txt
+ ```
+
+### Advanced Paper Backups
+
+Use waterproof, fireproof paper and consider steganography techniques to further enhance the security and privacy protection of paper backups.
+
+#### Security Enhancement Measures:
+
+- Use password-protected QR codes to store mnemonic phrases
+- Encode mnemonic phrases as stories or drawings
+- Create durable backups using professional metal etching tools
+- Example: Use metal storage devices like [Cryptosteel](https://cryptosteel.com/) or [Billfodl](https://shop.ledger.com/products/the-billfodl)
+
+### Cold Storage Devices
+
+- Use dedicated hardware wallets like [Ledger](https://www.ledger.com/) or [Trezor](https://trezor.io/)
+- Use offline computers for cold storage
+
+#### Security Enhancement Measures:
+
+- Regularly update firmware
+- Use complex PIN codes
+- Enable advanced security features, such as Ledger's anti-phishing word verification
+- Consider using multiple hardware wallets stored in different locations
+
+## 3. Backup Security Principles and Practices
+
+### Regular Security Audits
+
+Regularly check the integrity and accessibility of all backups, and update security measures to address new threats
+
+#### Audit Checklist:
+
+- Verify the readability of all backups
+- Test recovery processes
+- Check for hardware wallet firmware updates
+- Review access controls and password strength
+
+### Social Engineering Attack Prevention
+
+Develop a comprehensive understanding of phishing and scam tactics to enhance your security awareness and protect your digital assets.
+
+#### Preventive Measures:
+
+- Never share complete mnemonic phrases or private keys online
+- Use official websites and apps, verify download sources
+- Be wary of unsolicited "help" on social media and instant messaging
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/general/blockchain-security/create-wallet.md b/i18n/es/docusaurus-plugin-content-docs/current/general/blockchain-security/create-wallet.md
index 2217eab109..b94a49522f 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/general/blockchain-security/create-wallet.md
+++ b/i18n/es/docusaurus-plugin-content-docs/current/general/blockchain-security/create-wallet.md
@@ -1,5 +1,6 @@
---
displayed_sidebar: generalSidebar
+sidebar_position: 1
---
# Security Advice for Creating a Wallet
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/general/build/smart-contracts/gas-optimization/erc20permit.md b/i18n/es/docusaurus-plugin-content-docs/current/general/build/smart-contracts/gas-optimization/erc20permit.md
new file mode 100644
index 0000000000..3a5e193f68
--- /dev/null
+++ b/i18n/es/docusaurus-plugin-content-docs/current/general/build/smart-contracts/gas-optimization/erc20permit.md
@@ -0,0 +1,151 @@
+---
+displayed_sidebar: generalSidebar
+---
+
+# ERC20Permit
+
+In standard ERC20, users typically need to execute two separate transactions:
+
+1. **Approval (approve)**: The user authorizes a certain amount of tokens to a recipient.
+2. **Transfer (transferFrom)**: The recipient transfers tokens from the user's account.
+
+This approach not only increases gas costs but also diminishes user experience. By using ERC20Permit, we can merge these two steps into a single transaction, thereby saving gas and simplifying the process.
+
+### Gas Optimization Comparison
+
+**Standard ERC20 Process**
+
+1. User calls `approve(spender, amount)`: approximately 50,000 gas
+2. Recipient calls `transferFrom(owner, recipient, amount)`: approximately 65,000 gas
+
+**Optimized Process Using ERC20Permit**
+
+1. User generates a signature (off-chain operation, no gas cost)
+2. Recipient calls `transferWithPermit` (including permit and transferFrom): approximately 80,000 gas
+
+**Savings**: approximately 35,000 gas, equivalent to a 30% gas reduction.
+
+### Example Code
+
+#### Standard ERC20 Implementation
+
+```solidity
+// SPDX-License-Identifier: MIT
+pragma solidity ^0.8.20;
+
+import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
+
+// Standard ERC20 implementation
+contract StandardToken is ERC20 {
+ constructor() ERC20("StandardToken", "STD") {
+ _mint(msg.sender, 1000000 * 10**decimals());
+ }
+}
+```
+
+#### Optimized Implementation Using ERC20Permit
+
+```solidity
+// SPDX-License-Identifier: MIT
+pragma solidity ^0.8.20;
+
+import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol";
+import "@openzeppelin/contracts/utils/cryptography/ECDSA.sol";
+
+contract OptimizedToken is ERC20Permit {
+ constructor() ERC20("OptimizedToken", "OPT") ERC20Permit("OptimizedToken") {
+ _mint(msg.sender, 1000000 * 10**decimals());
+ }
+
+ function transferWithPermit(
+ address owner,
+ address spender,
+ uint256 value,
+ uint256 deadline,
+ uint8 v,
+ bytes32 r,
+ bytes32 s
+ ) external {
+ // Call permit to authorize the spender
+ permit(owner, spender, value, deadline, v, r, s);
+
+ // Transfer tokens from owner to msg.sender
+ transferFrom(owner, msg.sender, value);
+ }
+}
+```
+
+#### Frontend Implementation
+
+Example of implementing ERC20 Permit signature using Ethers.js v6:
+
+```javascript
+import { ethers } from "ethers";
+
+async function signERC20Permit(contract, owner, spender, value, deadline, nonce) {
+ const provider = new ethers.BrowserProvider(window.ethereum);
+ const signer = await provider.getSigner();
+
+ const domain = {
+ name: await contract.name(),
+ version: '1',
+ chainId: (await provider.getNetwork()).chainId,
+ verifyingContract: await contract.getAddress()
+ };
+
+ const types = {
+ Permit: [
+ { name: 'owner', type: 'address' },
+ { name: 'spender', type: 'address' },
+ { name: 'value', type: 'uint256' },
+ { name: 'nonce', type: 'uint256' },
+ { name: 'deadline', type: 'uint256' }
+ ]
+ };
+
+ const message = {
+ owner,
+ spender,
+ value,
+ nonce,
+ deadline
+ };
+
+ const signature = await signer.signTypedData(domain, types, message);
+ const { v, r, s } = ethers.Signature.from(signature);
+
+ return { v, r, s };
+}
+
+// Usage example
+const abi = [
+ "function transferWithPermit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s)"
+];
+
+const provider = new ethers.BrowserProvider(window.ethereum);
+const signer = await provider.getSigner();
+const contract = new ethers.Contract(tokenAddress, abi, signer);
+
+const owner = await signer.getAddress();
+const spender = '0x...'; // Address to be authorized
+const value = ethers.parseUnits('100', 18); // Amount to authorize
+const deadline = Math.floor(Date.now() / 1000) + 60 * 60; // Expires in 1 hour
+const nonce = await contract.nonces(owner);
+
+const { v, r, s } = await signERC20Permit(contract, owner, spender, value, deadline, nonce);
+
+// Call the transferWithPermit function of the contract
+await contract.transferWithPermit(owner, spender, value, deadline, v, r, s);
+```
+
+### Advantages of ERC20Permit
+
+- **Reduced Transaction Count**: Merges approval and transfer into a single transaction, saving gas.
+- **Improved User Experience**: Token holders do not need to pay gas fees for approvals.
+- **Batch Processing**: Recipients can batch multiple permit and transferFrom operations in one transaction, further reducing gas consumption.
+
+By adopting ERC20Permit, you can create a smoother and more cost-effective token interaction experience for users while reducing the overall load on the blockchain network.
+
+**Gas Optimization Recommendations**
+
+🌟 In scenarios where frequent approvals and transfers are needed, consider using ERC20Permit. This can significantly reduce the number of transactions and overall gas consumption for users.
diff --git a/i18n/es/docusaurus-plugin-content-docs/current/general/tutorials/wallets/wallets.mdx b/i18n/es/docusaurus-plugin-content-docs/current/general/tutorials/wallets/wallets.mdx
index f87f70ad2a..8720034a56 100644
--- a/i18n/es/docusaurus-plugin-content-docs/current/general/tutorials/wallets/wallets.mdx
+++ b/i18n/es/docusaurus-plugin-content-docs/current/general/tutorials/wallets/wallets.mdx
@@ -14,24 +14,37 @@ Wallets supported depend on the Space you plan to interact with.
## Supported Wallets
-| Wallet (billetera) | Core Space Supported | eSpace Supported |
-| ---------------------------------------- | -------------------- | ---------------- |
-| [Fluent](./fluent) | ✅ | ✅ |
-| [Ledger](./ledger) | ✅ | ✅ |
-| [MetaMask](../../../espace/UserGuide.md) | ❌ | ✅ |
-| [OKX Web3](https://www.okx.com/web3) | ❌ | ✅ |
-| [OneKey](https://onekey.so/download) | ✅ | ✅ |
+| Wallet (billetera) | Core Space Supported | eSpace Supported |
+| ----------------------------------------------------------------------- | -------------------- | ---------------- |
+| [Fluent](./fluent) | ✅ | ✅ |
+| [Ledger](./ledger) | ✅ | ✅ |
+| [MetaMask](../../../espace/UserGuide.md) | ❌ | ✅ |
+| [OKX Web3](https://www.okx.com/web3) | ❌ | ✅ |
+| [OneKey](https://onekey.so/download) | ✅ | ✅ |
For more information about each wallet, please navigate to the corresponding section.
+For the security of your wallet, you can also read the articles below.
+
+- [Security Advice for Creating a Wallet](/docs/general/blockchain-security/create-wallet)
+- [Security Advice for Wallet Backup](/docs/general/blockchain-security/backup-wallet)
+
If you want to learn more about Conflux supporting wallets, please checkout the following video:
-import Tabs from '@theme/Tabs';
-import TabItem from '@theme/TabItem';
+import Tabs from "@theme/Tabs";
+import TabItem from "@theme/TabItem";
-
+
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/core/core-developer-quickstart.md b/i18n/ja/docusaurus-plugin-content-docs/current/core/core-developer-quickstart.md
index 76801fbdf4..cdb3b9473a 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/core/core-developer-quickstart.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/core/core-developer-quickstart.md
@@ -143,7 +143,7 @@ If your account does not have enough balance, you will encounter the following e
## Resources
-1. Check [js-conflux-sdk's documentation](https://docs.confluxnetwork.org/js-conflux-sdk/) for more details
+1. Check [js-conflux-sdk's documentation](https://confluxnetwork.gitbook.io/js-conflux-sdk) for more details
2. Refer to [SDKs](./build/sdks-and-tools/sdks.md) for examples of other SDKs.
3. [Core Space Faucet](https://faucet.confluxnetwork.org/)
4. [Conflux Core Scan](https://confluxscan.io/)
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/core/core-endpoints.md b/i18n/ja/docusaurus-plugin-content-docs/current/core/core-endpoints.md
index 8aca1674f9..48950b2f77 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/core/core-endpoints.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/core/core-endpoints.md
@@ -46,7 +46,7 @@ Chain ID for Conflux Core Space Testnet is `1(0x1)`. The corresponding blockchai
| https://test.confluxrpc.com | HTTP | |
| https://cfxtest.confluxrpc.com | HTTP | |
| https://test.confluxrpc.org | HTTP | Backup RPC Service |
-| wss://test.confluxrpc.org/com | Websocket | |
+| wss://test.confluxrpc.com/ws | Websocket | |
| wss://test.confluxrpc.org/ws | Websocket | |
### Rate Limits
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/core/core-space-basics/transactions/receipt.md b/i18n/ja/docusaurus-plugin-content-docs/current/core/core-space-basics/transactions/receipt.md
index bacf1fa784..44d885222e 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/core/core-space-basics/transactions/receipt.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/core/core-space-basics/transactions/receipt.md
@@ -30,7 +30,7 @@ For detailed information about each field, you can refer to the API documentatio
The logs field in the Receipt is an array containing all the logs generated during the transaction execution process. When interacting with a contract, the contract can produce logs or events using emit statements. After the transaction is executed, these logs are recorded in the transaction receipt. In Solidity, [Events](https://docs.soliditylang.org/en/v0.8.23/contracts.html#events) are designed to log information about the execution of contract methods, providing detailed information about contract execution through events.
-You can retrieve logs using the [cfx_getLogs](/docs/core/build/json-rpc/cfx-namespace#cfx_getlogs) method and decode the log data using the [abi.decode](https://docs.soliditylang.org/en/v0.8.23/contracts.html#events) method. Conflux SDKs also provide methods to help decoding the logs, for example, [javascript](https://docs.confluxnetwork.org/js-conflux-sdk/docs/interact_with_contract#how-to-decode-log) and [python](https://python-conflux-sdk.readthedocs.io/en/latest/examples/05-interact_with_contracts_and_process_logs.html#process-logs).
+You can retrieve logs using the [cfx_getLogs](/docs/core/build/json-rpc/cfx-namespace#cfx_getlogs) method and decode the log data using the [abi.decode](https://docs.soliditylang.org/en/v0.8.23/contracts.html#events) method. Conflux SDKs also provide methods to help decoding the logs, for example, [javascript](https://confluxnetwork.gitbook.io/js-conflux-sdk/docs/interact_with_contract#how-to-decode-log) and [python](https://python-conflux-sdk.readthedocs.io/en/latest/examples/05-interact_with_contracts_and_process_logs.html#process-logs).
## Execution Failure
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/core/tutorials/js-conflux-sdk.md b/i18n/ja/docusaurus-plugin-content-docs/current/core/tutorials/js-conflux-sdk.md
index a9adf41bc9..568df47d6e 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/core/tutorials/js-conflux-sdk.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/core/tutorials/js-conflux-sdk.md
@@ -15,7 +15,7 @@ The [Developer Quickstart](../core-developer-quickstart.md) demonstrates how to
- Unit Conversion
- Hashing and Signing
-For further details and examples, please refer to the [js-conflux-sdk documentation](https://docs.confluxnetwork.org/js-conflux-sdk/).
+For further details and examples, please refer to the [js-conflux-sdk documentation](https://confluxnetwork.gitbook.io/js-conflux-sdk).
## Account Generation
@@ -126,7 +126,7 @@ async function main() {
}
```
-Consult the sdk's [Contract interaction guide](https://docs.confluxnetwork.org/js-conflux-sdk/docs/interact_with_contract) for more information.
+Consult the sdk's [Contract interaction guide](https://confluxnetwork.gitbook.io/js-conflux-sdk/docs/interact_with_contract) for more information.
## Common Utilities
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/core/tutorials/nft-tutorials/crc1155.md b/i18n/ja/docusaurus-plugin-content-docs/current/core/tutorials/nft-tutorials/crc1155.md
index a5a63d5356..e0c6bf4f3a 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/core/tutorials/nft-tutorials/crc1155.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/core/tutorials/nft-tutorials/crc1155.md
@@ -46,7 +46,7 @@ Install the OpenZeppelin contracts for a secure, audited implementation of ERC11
npm install @openzeppelin/contracts hardhat-conflux js-conflux-sdk
```
-For additional information, refer to the [Hardhat Conflux Plugin Tutorials](/docs/core/tutorials/hardhat-conflux-plugin) and [JS-Conflux-SDK Documentation](https://docs.confluxnetwork.org/js-conflux-sdk).
+For additional information, refer to the [Hardhat Conflux Plugin Tutorials](/docs/core/tutorials/hardhat-conflux-plugin) and [JS-Conflux-SDK Documentation](https://confluxnetwork.gitbook.io/js-conflux-sdk).
## Step 3: Writing the Smart Contract
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/core/tutorials/nft-tutorials/crc721.md b/i18n/ja/docusaurus-plugin-content-docs/current/core/tutorials/nft-tutorials/crc721.md
index 614dc9f0e1..7e6a18ce80 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/core/tutorials/nft-tutorials/crc721.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/core/tutorials/nft-tutorials/crc721.md
@@ -48,7 +48,7 @@ npm install @openzeppelin/contracts hardhat-conflux js-conflux-sdk
```
For additional information on the Hardhat-Conflux-Plugin, please refer to the [Hardhat Conflux Plugin Tutorials](/docs/core/tutorials/hardhat-conflux-plugin).
-To learn more about the JS-Conflux-SDK, please visit the [JS-Conflux-SDK Documentation](https://docs.confluxnetwork.org/js-conflux-sdk).
+To learn more about the JS-Conflux-SDK, please visit the [JS-Conflux-SDK Documentation](https://confluxnetwork.gitbook.io/js-conflux-sdk).
## Step 3: Writing the Smart Contract
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/general/blockchain-security/backup-wallet.md b/i18n/ja/docusaurus-plugin-content-docs/current/general/blockchain-security/backup-wallet.md
new file mode 100644
index 0000000000..b0ea1e65d8
--- /dev/null
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/general/blockchain-security/backup-wallet.md
@@ -0,0 +1,91 @@
+---
+displayed_sidebar: generalSidebar
+sidebar_position: 2
+---
+
+# Security Advice for Wallet Backup
+
+## 1. Mnemonic Phrases/Private Keys Backup
+
+### Plaintext Mnemonic Phrases
+
+Mnemonic phrases typically consist of 12 or 24 English words, following the BIP39 standard to ensure interoperability, for example: "witch collapse practice feed shame open despair creek road again ice least".
+
+#### Security Recommendations:
+
+- Consider using special "obfuscation modes", such as rearranging words alphabetically or reversing every other word
+- Be cautious when replacing words; you can use synonyms or custom rules, but make sure you can remember them
+- Example: Replace the 3rd, 7th, and 11th words with their antonyms
+
+### Mnemonic Phrases with Passphrase
+
+Passphrase, sometimes referred to as the “25th word,” enhances security by adding an extra layer of protection to the seed generation process, making brute-force attacks significantly more challenging. It’s crucial to back up both the mnemonic phrase and the passphrase securely.
+
+#### Security Recommendations:
+
+- Choose a strong password, avoiding birthdays, common words, etc.
+- Consider using a password manager to generate and store the password
+- Example: Use [1Password](https://1password.com/) to generate a strong password like `"X2$9Pz#mK@Lq"`
+
+## 2. Advanced Backup Strategies
+
+### Cloud Storage Backup
+
+Advantages include easy access and multiple redundancies, but there are risks of potential hacking attacks and service provider data breaches.
+
+#### Security Enhancement Measures:
+
+- Use client-side encrypted cloud services like [Tresorit](https://tresorit.com/) or [Cryptomator](https://cryptomator.org/)
+- Implement two-factor authentication (2FA)
+- Use strong, unique passwords
+- Apply additional encryption using [GPG](https://www.gnupg.org/) or [VeraCrypt](https://www.veracrypt.fr/) before uploading
+- GPG encryption command example:
+ ```
+ gpg --encrypt --recipient your@email.com wallet_backup.txt
+ ```
+
+### Advanced Paper Backups
+
+Use waterproof, fireproof paper and consider steganography techniques to further enhance the security and privacy protection of paper backups.
+
+#### Security Enhancement Measures:
+
+- Use password-protected QR codes to store mnemonic phrases
+- Encode mnemonic phrases as stories or drawings
+- Create durable backups using professional metal etching tools
+- Example: Use metal storage devices like [Cryptosteel](https://cryptosteel.com/) or [Billfodl](https://shop.ledger.com/products/the-billfodl)
+
+### Cold Storage Devices
+
+- Use dedicated hardware wallets like [Ledger](https://www.ledger.com/) or [Trezor](https://trezor.io/)
+- Use offline computers for cold storage
+
+#### Security Enhancement Measures:
+
+- Regularly update firmware
+- Use complex PIN codes
+- Enable advanced security features, such as Ledger's anti-phishing word verification
+- Consider using multiple hardware wallets stored in different locations
+
+## 3. Backup Security Principles and Practices
+
+### Regular Security Audits
+
+Regularly check the integrity and accessibility of all backups, and update security measures to address new threats
+
+#### Audit Checklist:
+
+- Verify the readability of all backups
+- Test recovery processes
+- Check for hardware wallet firmware updates
+- Review access controls and password strength
+
+### Social Engineering Attack Prevention
+
+Develop a comprehensive understanding of phishing and scam tactics to enhance your security awareness and protect your digital assets.
+
+#### Preventive Measures:
+
+- Never share complete mnemonic phrases or private keys online
+- Use official websites and apps, verify download sources
+- Be wary of unsolicited "help" on social media and instant messaging
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/general/blockchain-security/create-wallet.md b/i18n/ja/docusaurus-plugin-content-docs/current/general/blockchain-security/create-wallet.md
index 2217eab109..b94a49522f 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/general/blockchain-security/create-wallet.md
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/general/blockchain-security/create-wallet.md
@@ -1,5 +1,6 @@
---
displayed_sidebar: generalSidebar
+sidebar_position: 1
---
# Security Advice for Creating a Wallet
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/general/build/smart-contracts/gas-optimization/erc20permit.md b/i18n/ja/docusaurus-plugin-content-docs/current/general/build/smart-contracts/gas-optimization/erc20permit.md
new file mode 100644
index 0000000000..3a5e193f68
--- /dev/null
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/general/build/smart-contracts/gas-optimization/erc20permit.md
@@ -0,0 +1,151 @@
+---
+displayed_sidebar: generalSidebar
+---
+
+# ERC20Permit
+
+In standard ERC20, users typically need to execute two separate transactions:
+
+1. **Approval (approve)**: The user authorizes a certain amount of tokens to a recipient.
+2. **Transfer (transferFrom)**: The recipient transfers tokens from the user's account.
+
+This approach not only increases gas costs but also diminishes user experience. By using ERC20Permit, we can merge these two steps into a single transaction, thereby saving gas and simplifying the process.
+
+### Gas Optimization Comparison
+
+**Standard ERC20 Process**
+
+1. User calls `approve(spender, amount)`: approximately 50,000 gas
+2. Recipient calls `transferFrom(owner, recipient, amount)`: approximately 65,000 gas
+
+**Optimized Process Using ERC20Permit**
+
+1. User generates a signature (off-chain operation, no gas cost)
+2. Recipient calls `transferWithPermit` (including permit and transferFrom): approximately 80,000 gas
+
+**Savings**: approximately 35,000 gas, equivalent to a 30% gas reduction.
+
+### Example Code
+
+#### Standard ERC20 Implementation
+
+```solidity
+// SPDX-License-Identifier: MIT
+pragma solidity ^0.8.20;
+
+import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
+
+// Standard ERC20 implementation
+contract StandardToken is ERC20 {
+ constructor() ERC20("StandardToken", "STD") {
+ _mint(msg.sender, 1000000 * 10**decimals());
+ }
+}
+```
+
+#### Optimized Implementation Using ERC20Permit
+
+```solidity
+// SPDX-License-Identifier: MIT
+pragma solidity ^0.8.20;
+
+import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol";
+import "@openzeppelin/contracts/utils/cryptography/ECDSA.sol";
+
+contract OptimizedToken is ERC20Permit {
+ constructor() ERC20("OptimizedToken", "OPT") ERC20Permit("OptimizedToken") {
+ _mint(msg.sender, 1000000 * 10**decimals());
+ }
+
+ function transferWithPermit(
+ address owner,
+ address spender,
+ uint256 value,
+ uint256 deadline,
+ uint8 v,
+ bytes32 r,
+ bytes32 s
+ ) external {
+ // Call permit to authorize the spender
+ permit(owner, spender, value, deadline, v, r, s);
+
+ // Transfer tokens from owner to msg.sender
+ transferFrom(owner, msg.sender, value);
+ }
+}
+```
+
+#### Frontend Implementation
+
+Example of implementing ERC20 Permit signature using Ethers.js v6:
+
+```javascript
+import { ethers } from "ethers";
+
+async function signERC20Permit(contract, owner, spender, value, deadline, nonce) {
+ const provider = new ethers.BrowserProvider(window.ethereum);
+ const signer = await provider.getSigner();
+
+ const domain = {
+ name: await contract.name(),
+ version: '1',
+ chainId: (await provider.getNetwork()).chainId,
+ verifyingContract: await contract.getAddress()
+ };
+
+ const types = {
+ Permit: [
+ { name: 'owner', type: 'address' },
+ { name: 'spender', type: 'address' },
+ { name: 'value', type: 'uint256' },
+ { name: 'nonce', type: 'uint256' },
+ { name: 'deadline', type: 'uint256' }
+ ]
+ };
+
+ const message = {
+ owner,
+ spender,
+ value,
+ nonce,
+ deadline
+ };
+
+ const signature = await signer.signTypedData(domain, types, message);
+ const { v, r, s } = ethers.Signature.from(signature);
+
+ return { v, r, s };
+}
+
+// Usage example
+const abi = [
+ "function transferWithPermit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s)"
+];
+
+const provider = new ethers.BrowserProvider(window.ethereum);
+const signer = await provider.getSigner();
+const contract = new ethers.Contract(tokenAddress, abi, signer);
+
+const owner = await signer.getAddress();
+const spender = '0x...'; // Address to be authorized
+const value = ethers.parseUnits('100', 18); // Amount to authorize
+const deadline = Math.floor(Date.now() / 1000) + 60 * 60; // Expires in 1 hour
+const nonce = await contract.nonces(owner);
+
+const { v, r, s } = await signERC20Permit(contract, owner, spender, value, deadline, nonce);
+
+// Call the transferWithPermit function of the contract
+await contract.transferWithPermit(owner, spender, value, deadline, v, r, s);
+```
+
+### Advantages of ERC20Permit
+
+- **Reduced Transaction Count**: Merges approval and transfer into a single transaction, saving gas.
+- **Improved User Experience**: Token holders do not need to pay gas fees for approvals.
+- **Batch Processing**: Recipients can batch multiple permit and transferFrom operations in one transaction, further reducing gas consumption.
+
+By adopting ERC20Permit, you can create a smoother and more cost-effective token interaction experience for users while reducing the overall load on the blockchain network.
+
+**Gas Optimization Recommendations**
+
+🌟 In scenarios where frequent approvals and transfers are needed, consider using ERC20Permit. This can significantly reduce the number of transactions and overall gas consumption for users.
diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/general/tutorials/wallets/wallets.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/general/tutorials/wallets/wallets.mdx
index 26547df697..10d501dcbe 100644
--- a/i18n/ja/docusaurus-plugin-content-docs/current/general/tutorials/wallets/wallets.mdx
+++ b/i18n/ja/docusaurus-plugin-content-docs/current/general/tutorials/wallets/wallets.mdx
@@ -24,14 +24,27 @@ Wallets supported depend on the Space you plan to interact with.
For more information about each wallet, please navigate to the corresponding section.
+For the security of your wallet, you can also read the articles below.
+
+- [Security Advice for Creating a Wallet](/docs/general/blockchain-security/create-wallet)
+- [Security Advice for Wallet Backup](/docs/general/blockchain-security/backup-wallet)
+
If you want to learn more about Conflux supporting wallets, please checkout the following video:
-import Tabs from '@theme/Tabs';
-import TabItem from '@theme/TabItem';
+import Tabs from "@theme/Tabs";
+import TabItem from "@theme/TabItem";
-
+
diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/core/core-developer-quickstart.md b/i18n/zh/docusaurus-plugin-content-docs/current/core/core-developer-quickstart.md
index 3946026f37..81c384f001 100644
--- a/i18n/zh/docusaurus-plugin-content-docs/current/core/core-developer-quickstart.md
+++ b/i18n/zh/docusaurus-plugin-content-docs/current/core/core-developer-quickstart.md
@@ -143,7 +143,7 @@ main().catch(e => console.error(e));
## 其他资源
-1. 查看 [js-conflux-sdk的文档](https://docs.confluxnetwork.org/js-conflux-sdk/) 了解更多详情
+1. Check [js-conflux-sdk's documentation](https://confluxnetwork.gitbook.io/js-conflux-sdk) for more details
2. 参考 [SDKs](./build/sdks-and-tools/sdks.md) 了解其他 SDK 的示例。
3. [Core Space 水龙头](https://faucet.confluxnetwork.org/)
4. [Conflux Core 区块链浏览器](https://confluxscan.io/)
diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/core/core-endpoints.md b/i18n/zh/docusaurus-plugin-content-docs/current/core/core-endpoints.md
index f649e31188..d4ccb7f222 100644
--- a/i18n/zh/docusaurus-plugin-content-docs/current/core/core-endpoints.md
+++ b/i18n/zh/docusaurus-plugin-content-docs/current/core/core-endpoints.md
@@ -46,7 +46,7 @@ Conflux Core Space 测试网的链 ID 是 `1(0x1)`。 The corresponding blockcha
| https://test.confluxrpc.com | HTTP | |
| https://cfxtest.confluxrpc.com | HTTP | |
| https://test.confluxrpc.org | HTTP | 备用 RPC 服务 |
-| wss://test.confluxrpc.org/com | Websocket | |
+| wss://test.confluxrpc.com/ws | Websocket | |
| wss://test.confluxrpc.org/ws | Websocket | |
### 速率限制
diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/core/core-space-basics/transactions/receipt.md b/i18n/zh/docusaurus-plugin-content-docs/current/core/core-space-basics/transactions/receipt.md
index 4155ce7b42..feeedf45ea 100644
--- a/i18n/zh/docusaurus-plugin-content-docs/current/core/core-space-basics/transactions/receipt.md
+++ b/i18n/zh/docusaurus-plugin-content-docs/current/core/core-space-basics/transactions/receipt.md
@@ -30,7 +30,7 @@ keywords:
Receipt(收据)中的日志字段(logs)是一个数组,其包含在交易执行过程中生成的所有日志。 当与合约交互时,合约可以使用emit语句生成日志或事件。 交易执行后,这些日志被记录在交易收据中。 在Solidity中,[事件](https://docs.soliditylang.org/en/v0.8.23/contracts.html#events) 被设计用于记录有关合约方法执行的信息,通过事件提供有关合约执行的详细信息。
-你可以使用 [cfx_getLogs](/docs/core/build/json-rpc/cfx-namespace#cfx_getlogs) 方法检索日志,并使用 [abi.decode](https://docs.soliditylang.org/en/v0.8.23/contracts.html#events) 方法解码日志数据。 Conflux SDKs也提供了帮助解码日志的方法,例如[javascript-sdk](https://docs.confluxnetwork.org/js-conflux-sdk/docs/interact_with_contract#how-to-decode-log)和[python-sdk](https://python-conflux-sdk.readthedocs.io/en/latest/examples/05-interact_with_contracts_and_process_logs.html#process-logs)。
+你可以使用 [cfx_getLogs](/docs/core/build/json-rpc/cfx-namespace#cfx_getlogs) 方法检索日志,并使用 [abi.decode](https://docs.soliditylang.org/en/v0.8.23/contracts.html#events) 方法解码日志数据。 Conflux SDKs also provide methods to help decoding the logs, for example, [javascript](https://confluxnetwork.gitbook.io/js-conflux-sdk/docs/interact_with_contract#how-to-decode-log) and [python](https://python-conflux-sdk.readthedocs.io/en/latest/examples/05-interact_with_contracts_and_process_logs.html#process-logs).
## 执行失败
diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/core/tutorials/js-conflux-sdk.md b/i18n/zh/docusaurus-plugin-content-docs/current/core/tutorials/js-conflux-sdk.md
index 159e3ec634..93db65ab83 100644
--- a/i18n/zh/docusaurus-plugin-content-docs/current/core/tutorials/js-conflux-sdk.md
+++ b/i18n/zh/docusaurus-plugin-content-docs/current/core/tutorials/js-conflux-sdk.md
@@ -15,7 +15,7 @@ displayed_sidebar: coreSidebar
- 单位换算
- 哈希和签名
-更多细节和示例,请参考 [js-conflux-sdk 文档](https://docs.confluxnetwork.org/js-conflux-sdk/)。
+For further details and examples, please refer to the [js-conflux-sdk documentation](https://confluxnetwork.gitbook.io/js-conflux-sdk).
## 账户生成
@@ -126,7 +126,7 @@ async function main() {
}
```
-查看 sdk 部分的[合约交互指南](https://docs.confluxnetwork.org/js-conflux-sdk/docs/interact_with_contract)获取更多信息。
+Consult the sdk's [Contract interaction guide](https://confluxnetwork.gitbook.io/js-conflux-sdk/docs/interact_with_contract) for more information.
## 常用工具
diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/core/tutorials/nft-tutorials/crc1155.md b/i18n/zh/docusaurus-plugin-content-docs/current/core/tutorials/nft-tutorials/crc1155.md
index 009d0aee9c..0653bb0084 100644
--- a/i18n/zh/docusaurus-plugin-content-docs/current/core/tutorials/nft-tutorials/crc1155.md
+++ b/i18n/zh/docusaurus-plugin-content-docs/current/core/tutorials/nft-tutorials/crc1155.md
@@ -46,7 +46,7 @@ npx hardhat
npm install @openzeppelin/contracts hardhat-conflux js-conflux-sdk
```
-更多信息请参阅[Hardhat Conflux Plugin教程](/docs/core/tutorials/hardhat-conflux-plugin)和[JS-Conflux-SDK文档](https://docs.confluxnetwork.org/js-conflux-sdk)。
+For additional information, refer to the [Hardhat Conflux Plugin Tutorials](/docs/core/tutorials/hardhat-conflux-plugin) and [JS-Conflux-SDK Documentation](https://confluxnetwork.gitbook.io/js-conflux-sdk).
## Step 3: Writing the Smart Contract
diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/core/tutorials/nft-tutorials/crc721.md b/i18n/zh/docusaurus-plugin-content-docs/current/core/tutorials/nft-tutorials/crc721.md
index 315194bd6a..e04567326e 100644
--- a/i18n/zh/docusaurus-plugin-content-docs/current/core/tutorials/nft-tutorials/crc721.md
+++ b/i18n/zh/docusaurus-plugin-content-docs/current/core/tutorials/nft-tutorials/crc721.md
@@ -48,7 +48,7 @@ npm install @openzeppelin/contracts hardhat-conflux js-conflux-sdk
```
有关Hardhat-Conflux-Plugin的更多信息,请参阅[Hardhat Conflux Plugin教程](/docs/core/tutorials/hardhat-conflux-plugin)。
-要了解更多关于JS-Conflux-SDK的信息,请访问[JS-Conflux-SDK文档](https://docs.confluxnetwork.org/js-conflux-sdk)。
+To learn more about the JS-Conflux-SDK, please visit the [JS-Conflux-SDK Documentation](https://confluxnetwork.gitbook.io/js-conflux-sdk).
## Step 3: Writing the Smart Contract
diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/general/blockchain-security/backup-wallet.md b/i18n/zh/docusaurus-plugin-content-docs/current/general/blockchain-security/backup-wallet.md
new file mode 100644
index 0000000000..b0ea1e65d8
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/current/general/blockchain-security/backup-wallet.md
@@ -0,0 +1,91 @@
+---
+displayed_sidebar: generalSidebar
+sidebar_position: 2
+---
+
+# Security Advice for Wallet Backup
+
+## 1. Mnemonic Phrases/Private Keys Backup
+
+### Plaintext Mnemonic Phrases
+
+Mnemonic phrases typically consist of 12 or 24 English words, following the BIP39 standard to ensure interoperability, for example: "witch collapse practice feed shame open despair creek road again ice least".
+
+#### Security Recommendations:
+
+- Consider using special "obfuscation modes", such as rearranging words alphabetically or reversing every other word
+- Be cautious when replacing words; you can use synonyms or custom rules, but make sure you can remember them
+- Example: Replace the 3rd, 7th, and 11th words with their antonyms
+
+### Mnemonic Phrases with Passphrase
+
+Passphrase, sometimes referred to as the “25th word,” enhances security by adding an extra layer of protection to the seed generation process, making brute-force attacks significantly more challenging. It’s crucial to back up both the mnemonic phrase and the passphrase securely.
+
+#### Security Recommendations:
+
+- Choose a strong password, avoiding birthdays, common words, etc.
+- Consider using a password manager to generate and store the password
+- Example: Use [1Password](https://1password.com/) to generate a strong password like `"X2$9Pz#mK@Lq"`
+
+## 2. Advanced Backup Strategies
+
+### Cloud Storage Backup
+
+Advantages include easy access and multiple redundancies, but there are risks of potential hacking attacks and service provider data breaches.
+
+#### Security Enhancement Measures:
+
+- Use client-side encrypted cloud services like [Tresorit](https://tresorit.com/) or [Cryptomator](https://cryptomator.org/)
+- Implement two-factor authentication (2FA)
+- Use strong, unique passwords
+- Apply additional encryption using [GPG](https://www.gnupg.org/) or [VeraCrypt](https://www.veracrypt.fr/) before uploading
+- GPG encryption command example:
+ ```
+ gpg --encrypt --recipient your@email.com wallet_backup.txt
+ ```
+
+### Advanced Paper Backups
+
+Use waterproof, fireproof paper and consider steganography techniques to further enhance the security and privacy protection of paper backups.
+
+#### Security Enhancement Measures:
+
+- Use password-protected QR codes to store mnemonic phrases
+- Encode mnemonic phrases as stories or drawings
+- Create durable backups using professional metal etching tools
+- Example: Use metal storage devices like [Cryptosteel](https://cryptosteel.com/) or [Billfodl](https://shop.ledger.com/products/the-billfodl)
+
+### Cold Storage Devices
+
+- Use dedicated hardware wallets like [Ledger](https://www.ledger.com/) or [Trezor](https://trezor.io/)
+- Use offline computers for cold storage
+
+#### Security Enhancement Measures:
+
+- Regularly update firmware
+- Use complex PIN codes
+- Enable advanced security features, such as Ledger's anti-phishing word verification
+- Consider using multiple hardware wallets stored in different locations
+
+## 3. Backup Security Principles and Practices
+
+### Regular Security Audits
+
+Regularly check the integrity and accessibility of all backups, and update security measures to address new threats
+
+#### Audit Checklist:
+
+- Verify the readability of all backups
+- Test recovery processes
+- Check for hardware wallet firmware updates
+- Review access controls and password strength
+
+### Social Engineering Attack Prevention
+
+Develop a comprehensive understanding of phishing and scam tactics to enhance your security awareness and protect your digital assets.
+
+#### Preventive Measures:
+
+- Never share complete mnemonic phrases or private keys online
+- Use official websites and apps, verify download sources
+- Be wary of unsolicited "help" on social media and instant messaging
diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/general/blockchain-security/create-wallet.md b/i18n/zh/docusaurus-plugin-content-docs/current/general/blockchain-security/create-wallet.md
index 2217eab109..b94a49522f 100644
--- a/i18n/zh/docusaurus-plugin-content-docs/current/general/blockchain-security/create-wallet.md
+++ b/i18n/zh/docusaurus-plugin-content-docs/current/general/blockchain-security/create-wallet.md
@@ -1,5 +1,6 @@
---
displayed_sidebar: generalSidebar
+sidebar_position: 1
---
# Security Advice for Creating a Wallet
diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/general/build/smart-contracts/gas-optimization/erc20permit.md b/i18n/zh/docusaurus-plugin-content-docs/current/general/build/smart-contracts/gas-optimization/erc20permit.md
new file mode 100644
index 0000000000..3a5e193f68
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs/current/general/build/smart-contracts/gas-optimization/erc20permit.md
@@ -0,0 +1,151 @@
+---
+displayed_sidebar: generalSidebar
+---
+
+# ERC20Permit
+
+In standard ERC20, users typically need to execute two separate transactions:
+
+1. **Approval (approve)**: The user authorizes a certain amount of tokens to a recipient.
+2. **Transfer (transferFrom)**: The recipient transfers tokens from the user's account.
+
+This approach not only increases gas costs but also diminishes user experience. By using ERC20Permit, we can merge these two steps into a single transaction, thereby saving gas and simplifying the process.
+
+### Gas Optimization Comparison
+
+**Standard ERC20 Process**
+
+1. User calls `approve(spender, amount)`: approximately 50,000 gas
+2. Recipient calls `transferFrom(owner, recipient, amount)`: approximately 65,000 gas
+
+**Optimized Process Using ERC20Permit**
+
+1. User generates a signature (off-chain operation, no gas cost)
+2. Recipient calls `transferWithPermit` (including permit and transferFrom): approximately 80,000 gas
+
+**Savings**: approximately 35,000 gas, equivalent to a 30% gas reduction.
+
+### Example Code
+
+#### Standard ERC20 Implementation
+
+```solidity
+// SPDX-License-Identifier: MIT
+pragma solidity ^0.8.20;
+
+import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
+
+// Standard ERC20 implementation
+contract StandardToken is ERC20 {
+ constructor() ERC20("StandardToken", "STD") {
+ _mint(msg.sender, 1000000 * 10**decimals());
+ }
+}
+```
+
+#### Optimized Implementation Using ERC20Permit
+
+```solidity
+// SPDX-License-Identifier: MIT
+pragma solidity ^0.8.20;
+
+import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol";
+import "@openzeppelin/contracts/utils/cryptography/ECDSA.sol";
+
+contract OptimizedToken is ERC20Permit {
+ constructor() ERC20("OptimizedToken", "OPT") ERC20Permit("OptimizedToken") {
+ _mint(msg.sender, 1000000 * 10**decimals());
+ }
+
+ function transferWithPermit(
+ address owner,
+ address spender,
+ uint256 value,
+ uint256 deadline,
+ uint8 v,
+ bytes32 r,
+ bytes32 s
+ ) external {
+ // Call permit to authorize the spender
+ permit(owner, spender, value, deadline, v, r, s);
+
+ // Transfer tokens from owner to msg.sender
+ transferFrom(owner, msg.sender, value);
+ }
+}
+```
+
+#### Frontend Implementation
+
+Example of implementing ERC20 Permit signature using Ethers.js v6:
+
+```javascript
+import { ethers } from "ethers";
+
+async function signERC20Permit(contract, owner, spender, value, deadline, nonce) {
+ const provider = new ethers.BrowserProvider(window.ethereum);
+ const signer = await provider.getSigner();
+
+ const domain = {
+ name: await contract.name(),
+ version: '1',
+ chainId: (await provider.getNetwork()).chainId,
+ verifyingContract: await contract.getAddress()
+ };
+
+ const types = {
+ Permit: [
+ { name: 'owner', type: 'address' },
+ { name: 'spender', type: 'address' },
+ { name: 'value', type: 'uint256' },
+ { name: 'nonce', type: 'uint256' },
+ { name: 'deadline', type: 'uint256' }
+ ]
+ };
+
+ const message = {
+ owner,
+ spender,
+ value,
+ nonce,
+ deadline
+ };
+
+ const signature = await signer.signTypedData(domain, types, message);
+ const { v, r, s } = ethers.Signature.from(signature);
+
+ return { v, r, s };
+}
+
+// Usage example
+const abi = [
+ "function transferWithPermit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s)"
+];
+
+const provider = new ethers.BrowserProvider(window.ethereum);
+const signer = await provider.getSigner();
+const contract = new ethers.Contract(tokenAddress, abi, signer);
+
+const owner = await signer.getAddress();
+const spender = '0x...'; // Address to be authorized
+const value = ethers.parseUnits('100', 18); // Amount to authorize
+const deadline = Math.floor(Date.now() / 1000) + 60 * 60; // Expires in 1 hour
+const nonce = await contract.nonces(owner);
+
+const { v, r, s } = await signERC20Permit(contract, owner, spender, value, deadline, nonce);
+
+// Call the transferWithPermit function of the contract
+await contract.transferWithPermit(owner, spender, value, deadline, v, r, s);
+```
+
+### Advantages of ERC20Permit
+
+- **Reduced Transaction Count**: Merges approval and transfer into a single transaction, saving gas.
+- **Improved User Experience**: Token holders do not need to pay gas fees for approvals.
+- **Batch Processing**: Recipients can batch multiple permit and transferFrom operations in one transaction, further reducing gas consumption.
+
+By adopting ERC20Permit, you can create a smoother and more cost-effective token interaction experience for users while reducing the overall load on the blockchain network.
+
+**Gas Optimization Recommendations**
+
+🌟 In scenarios where frequent approvals and transfers are needed, consider using ERC20Permit. This can significantly reduce the number of transactions and overall gas consumption for users.
diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/general/tutorials/wallets/wallets.mdx b/i18n/zh/docusaurus-plugin-content-docs/current/general/tutorials/wallets/wallets.mdx
index e9a166151b..4a998de561 100644
--- a/i18n/zh/docusaurus-plugin-content-docs/current/general/tutorials/wallets/wallets.mdx
+++ b/i18n/zh/docusaurus-plugin-content-docs/current/general/tutorials/wallets/wallets.mdx
@@ -14,24 +14,37 @@ Wallets supported depend on the Space you plan to interact with.
## 支持的钱包
-| 钱包 | 支持 Core Space | 支持 eSpace |
-| ---------------------------------------- | ------------- | --------- |
-| [Fluent](./fluent) | ✅ | ✅ |
-| [Ledger](./ledger) | ✅ | ✅ |
-| [MetaMask](../../../espace/UserGuide.md) | ❌ | ✅ |
-| [OKX Web3](https://www.okx.com/web3) | ❌ | ✅ |
-| [OneKey](https://onekey.so/download) | ✅ | ✅ |
+| 钱包 | 支持 Core Space | 支持 eSpace |
+| ---------------------------------------- | ------------------- | --------------- |
+| [Fluent](./fluent) | ✅ | ✅ |
+| [Ledger](./ledger) | ✅ | ✅ |
+| [MetaMask](../../../espace/UserGuide.md) | ❌ | ✅ |
+| [OKX Web3](https://www.okx.com/web3) | ❌ | ✅ |
+| [OneKey](https://onekey.so/download) | ✅ | ✅ |
For more information about each wallet, please navigate to the corresponding section.
+For the security of your wallet, you can also read the articles below.
+
+- [Security Advice for Creating a Wallet](/docs/general/blockchain-security/create-wallet)
+- [Security Advice for Wallet Backup](/docs/general/blockchain-security/backup-wallet)
+
If you want to learn more about Conflux supporting wallets, please checkout the following video:
-import Tabs from '@theme/Tabs';
-import TabItem from '@theme/TabItem';
+import Tabs from "@theme/Tabs";
+import TabItem from "@theme/TabItem";
-
+