Hướng dẫn how do i use crypto in javascript? - làm cách nào để sử dụng tiền điện tử trong javascript?

Giao diện

const crypto = require("crypto");
8 đại diện cho các tính năng mật mã cơ bản có sẵn trong bối cảnh hiện tại. Nó cho phép truy cập vào một trình tạo số ngẫu nhiên mạnh mẽ về mặt mật mã và các nguyên thủy mật mã.
const crypto = require("crypto");
8
interface represents basic cryptography features available in the current context. It allows access to a cryptographically strong random number generator and to cryptographic primitives.

Show

Lưu ý: Tính năng này có sẵn trong nhân viên web This feature is available in Web Workers

API Crypto Web được truy cập thông qua thuộc tính toàn cầu

const crypto = require("crypto");
9, là đối tượng
const crypto = require("crypto");
8.

Thuộc tính thể hiện

Giao diện này thực hiện các thuộc tính được xác định trên

class Transaction {
  constructor(amount, senderPublicKey, recieverPublicKey) {
    this.amount = amount;
    this.senderPublicKey = senderPublicKey;
    this.recieverPublicKey = recieverPublicKey;
  }
}
1.

class Transaction {
  constructor(amount, senderPublicKey, recieverPublicKey) {
    this.amount = amount;
    this.senderPublicKey = senderPublicKey;
    this.recieverPublicKey = recieverPublicKey;
  }
}
2 Chỉ đọc ngữ cảnh an toànRead only Secure context

Trả về một đối tượng

class Transaction {
  constructor(amount, senderPublicKey, recieverPublicKey) {
    this.amount = amount;
    this.senderPublicKey = senderPublicKey;
    this.recieverPublicKey = recieverPublicKey;
  }
}
3 cung cấp quyền truy cập vào các nguyên thủy mật mã chung, như băm, ký, mã hóa hoặc giải mã.

Phương pháp thể hiện

Giao diện này thực hiện các phương thức được xác định trên

class Transaction {
  constructor(amount, senderPublicKey, recieverPublicKey) {
    this.amount = amount;
    this.senderPublicKey = senderPublicKey;
    this.recieverPublicKey = recieverPublicKey;
  }
}
1.

class Transaction {
  constructor(amount, senderPublicKey, recieverPublicKey) {
    this.amount = amount;
    this.senderPublicKey = senderPublicKey;
    this.recieverPublicKey = recieverPublicKey;
  }
}
5

Điền vào

class Transaction {
  constructor(amount, senderPublicKey, recieverPublicKey) {
    this.amount = amount;
    this.senderPublicKey = senderPublicKey;
    this.recieverPublicKey = recieverPublicKey;
  }
}
6 đã qua bằng các giá trị ngẫu nhiên âm thanh bằng mã hóa.

class Transaction {
  constructor(amount, senderPublicKey, recieverPublicKey) {
    this.amount = amount;
    this.senderPublicKey = senderPublicKey;
    this.recieverPublicKey = recieverPublicKey;
  }
}
7

Trả về một UUID V4 được tạo ngẫu nhiên, 36 ký tự.

Ghi chú sử dụng

Bạn nên tránh sử dụng API Crypto Web trên bối cảnh không an toàn, mặc dù giao diện

const crypto = require("crypto");
8 có mặt trên bối cảnh không an toàn, cũng như thuộc tính
const crypto = require("crypto");
9. Ngoài ra, phương pháp
const crypto = require("crypto");
8
toString() {
  return JSON.stringify(this);
}
1 có sẵn trên các bối cảnh không an toàn, nhưng thuộc tính
toString() {
  return JSON.stringify(this);
}
2 thì không.

Nói chung, có lẽ bạn chỉ nên coi

const crypto = require("crypto");
8 chỉ có sẵn trên các bối cảnh an toàn.

Thông số kỹ thuật

Sự chỉ rõ
Web Cryptography API # Crypto Interface
# crypto-interface

Tính tương thích của trình duyệt web

Bảng BCD chỉ tải trong trình duyệt

Xem thêm

Ngày nay, có rất nhiều phương pháp để gửi tiền kỹ thuật số cho người khác. Hầu hết các cách là thông qua một ngân hàng hoặc một số ví, nhưng gần đây, sử dụng tiền điện tử đã trở nên phổ biến.

Cryptocurrency là một cách tuyệt vời để gửi tiền ẩn danh cho người khác. Một lợi thế khác của tiền điện tử là mạng của họ được phân cấp, điều đó có nghĩa là không có ai nhìn qua giao dịch, và ở đó, không có người trung gian nào. Một số người nghĩ rằng điều này không tốt vì hầu hết những kẻ lừa đảo hoạt động trên tiền điện tử, nhưng một số người nghĩ rằng đây là một bước khác hướng tới quyền riêng tư.

Ngày nay, chúng ta sẽ tạo ra một loại tiền điện tử bằng JavaScript. Hy vọng rằng, bài viết này sẽ cung cấp cho bạn một ý tưởng cơ bản về cách tạo ra tiền điện tử của riêng bạn và bạn có thể tiếp tục làm việc với các kỹ năng này để cải thiện quyền riêng tư trong tài chính của mình.

Mục lục

  • Blockchain là gì?
  • Yêu cầu
  • Bắt đầu làm tiền điện tử JavaScript của bạn
  • Tạo lớp ____ 34 & nbsp;
  • Tạo lớp ________ 35 & nbsp;
  • Tạo lớp ____ 36 & nbsp;
  • Tạo lớp ____ 37 & nbsp;
  • Kiểm tra mọi thứ ra

Blockchain là gì?

Trước khi chúng tôi nhảy vào việc tạo ra tiền điện tử của riêng mình bằng JavaScript, hãy để Lừa thảo luận về một blockchain là gì.

Blockchain là một chuỗi dữ liệu không thể thay đổi. Trong trường hợp tiền điện tử, một blockchain chứa các khối (chứa thông tin về các giao dịch) được kết nối với nhau. Mỗi khối có một giá trị băm có thể được xác minh nếu nó hợp pháp và chưa được một số tin tặc tiêm.

Vì các khối được kết nối với nhau, các khối hiện tại không thể được thay đổi, vì tất cả các khối được liên kết với nhau.

Hướng dẫn how do i use crypto in javascript? - làm cách nào để sử dụng tiền điện tử trong javascript?
​​

Trong sơ đồ trên, A, B và C là ba khối. Chúng chứa dữ liệu giao dịch (số lượng tiền điện tử được gửi, địa chỉ ví người nhận và siêu dữ liệu khác). Như chúng ta có thể thấy, mỗi khối mới được liên kết với khối trước. Điều này được thực hiện bằng cách lưu trữ hàm băm của khối trước trong phần trước và băm của khối tiếp theo trong tiếp theo.Prev​ and hash of next block in Next​.

Các giao dịch trên blockchain được giữ theo dõi bằng phương pháp này. Để tìm bất kỳ khối, các khối khác được yêu cầu. Vì vậy, nó không thể xóa một trong các khối hoặc chỉnh sửa chúng vì băm của chúng được xác minh và các khối bị thay đổi độc hại có thể dễ dàng được xác định. Blockchain được phân cấp, điều đó có nghĩa là không có thẩm quyền nào có quyền kiểm soát nó. Một blockchain được chạy bởi rất nhiều băm máy tính máy tính khác nhau và kiểm tra xem một khối có hợp pháp không. Quá trình này được gọi là khai thác và đổi lại, những người chạy các hoạt động khai thác này nhận được một số lượng tiền điện tử như một phần thưởng nếu họ quản lý để giải quyết một khối trước.
​​
​​The blockchain is decentralized, which means no single authority has control over it. A blockchain is run by a lot of different computers computing hashes and checking if a block is legitimate. This process is called mining, and in return, the people running these mining operations receive some amount of cryptocurrency as a reward if they manage to solve a block first.

Các loại tiền điện tử khác nhau có các phương pháp khác nhau để khai thác, nhưng khai thác đảm bảo bảo mật tổng thể của blockchain. Mặc dù trong hướng dẫn này, chúng tôi đã giành chiến thắng khi khai thác, bạn sẽ có ý tưởng cơ bản về cách bạn có thể phát triển tiền điện tử của riêng mình. JavaScript có thể không phải là ngôn ngữ tốt nhất để tạo ra tiền điện tử cấp độ sản xuất của bạn, nó vẫn sẽ quản lý để cung cấp cho những người như các nhà phát triển web giới thiệu một cách nhanh chóng về không gian này.
​​
JavaScript might not be the best language to create your “production-level” cryptocurrency, it will still manage to give people like web developers introduction to this space quickly.

Yêu cầu

  • Bắt đầu làm tiền điện tử JavaScript của bạn
  • Tạo lớp ____ 34 & nbsp;
  • Tạo lớp ________ 35 & nbsp;

Tạo lớp ____ 36 & nbsp;

Bắt đầu làm tiền điện tử JavaScript của bạn

Tạo lớp ____ 34 & nbsp;

npm init -y

Tạo lớp ________ 35 & nbsp;

Tạo lớp ____ 36 & nbsp;

Tạo lớp ____ 37 & nbsp;

const crypto = require("crypto");

Kiểm tra mọi thứ ra

  • toString() {
      return JSON.stringify(this);
    }
    
    4
  • Blockchain là gì?
  • toString() {
      return JSON.stringify(this);
    }
    
    6
  • toString() {
      return JSON.stringify(this);
    }
    
    7

Trước khi chúng tôi nhảy vào việc tạo ra tiền điện tử của riêng mình bằng JavaScript, hãy để Lừa thảo luận về một blockchain là gì.

Blockchain là một chuỗi dữ liệu không thể thay đổi. Trong trường hợp tiền điện tử, một blockchain chứa các khối (chứa thông tin về các giao dịch) được kết nối với nhau. Mỗi khối có một giá trị băm có thể được xác minh nếu nó hợp pháp và chưa được một số tin tặc tiêm.

Vì các khối được kết nối với nhau, các khối hiện tại không thể được thay đổi, vì tất cả các khối được liên kết với nhau.

class Transaction {
  constructor(amount, senderPublicKey, recieverPublicKey) {
    this.amount = amount;
    this.senderPublicKey = senderPublicKey;
    this.recieverPublicKey = recieverPublicKey;
  }
}

Chúng tôi cũng cần một phương thức để chuyển đổi đối tượng của lớp thành một chuỗi để chuyển đổi nó thành một hàm băm. Vì vậy, chúng tôi sẽ tạo một chức năng để chuyển đổi đối tượng thành chuỗi để sử dụng sau:

toString() {
  return JSON.stringify(this);
}

Trong sơ đồ trên, A, B và C là ba khối. Chúng chứa dữ liệu giao dịch (số lượng tiền điện tử được gửi, địa chỉ ví người nhận và siêu dữ liệu khác). Như chúng ta có thể thấy, mỗi khối mới được liên kết với khối trước. Điều này được thực hiện bằng cách lưu trữ hàm băm của khối trước trong phần trước và băm của khối tiếp theo trong tiếp theo.

class Transaction {
  constructor(amount, senderPublicKey, recieverPublicKey) {
    this.amount = amount;
    this.senderPublicKey = senderPublicKey;
    this.recieverPublicKey = recieverPublicKey;
  }
  // convert the data of the class to json so that
  // it can be converted into a hash
  toString() {
    return JSON.stringify(this);
  }
}

Các giao dịch trên blockchain được giữ theo dõi bằng phương pháp này. Để tìm bất kỳ khối, các khối khác được yêu cầu. Vì vậy, nó không thể xóa một trong các khối hoặc chỉnh sửa chúng vì băm của chúng được xác minh và các khối bị thay đổi độc hại có thể dễ dàng được xác định. Blockchain được phân cấp, điều đó có nghĩa là không có thẩm quyền nào có quyền kiểm soát nó. Một blockchain được chạy bởi rất nhiều băm máy tính máy tính khác nhau và kiểm tra xem một khối có hợp pháp không. Quá trình này được gọi là khai thác và đổi lại, những người chạy các hoạt động khai thác này nhận được một số lượng tiền điện tử như một phần thưởng nếu họ quản lý để giải quyết một khối trước.

Các loại tiền điện tử khác nhau có các phương pháp khác nhau để khai thác, nhưng khai thác đảm bảo bảo mật tổng thể của blockchain. Mặc dù trong hướng dẫn này, chúng tôi đã giành chiến thắng khi khai thác, bạn sẽ có ý tưởng cơ bản về cách bạn có thể phát triển tiền điện tử của riêng mình. JavaScript có thể không phải là ngôn ngữ tốt nhất để tạo ra tiền điện tử cấp độ sản xuất của bạn, nó vẫn sẽ quản lý để cung cấp cho những người như các nhà phát triển web giới thiệu một cách nhanh chóng về không gian này.

Node.js & nbsp; đã cài đặt trên máy của bạn

Trình chỉnh sửa mã (tôi thích mã Visual Studio hơn)

class Block {
  constructor(previousHash, transaction, timestamp = Date.now()) {
    this.previousHash = previousHash;
    this.transaction = transaction;
    this.timestamp = timestamp;
  }
}

Kiến thức làm việc về nút

Bạn luôn có thể tham khảo kho lưu trữ GitHub nếu bạn muốn xem mã.

getHash() {
  const json = JSON.stringify(this);
  const hash = crypto.createHash("SHA256");
  hash.update(json).end();
  const hex = hash.digest("hex");
  return hex;
}

Hãy để bắt đầu bằng cách tạo một dự án nút. Điều hướng đến một thư mục an toàn và nhập lệnh sau để tạo một dự án mới:

Tiếp theo, chúng tôi thêm JSON làm dữ liệu để nó được chuyển đổi thành băm

class Block {
  constructor(previousHash, transaction, timestamp = Date.now()) {
    this.previousHash = previousHash;
    this.transaction = transaction;
    this.timestamp = timestamp;
  }
}
8. Cuối cùng, chúng tôi tạo ra một tiêu hóa
getHash() {
  const json = JSON.stringify(this);
  const hash = crypto.createHash("SHA256");
  hash.update(json).end();
  const hex = hash.digest("hex");
  return hex;
}
0 cho băm và chúng tôi trả lại nó.

Bây giờ một lần nữa, chúng tôi tạo một hàm để chuyển đổi đối tượng khối thành JSON:

toString() {
  JSON.stringify(this);
}

Lớp

toString() {
  return JSON.stringify(this);
}
5 hoàn chỉnh của bạn bây giờ sẽ trông như thế này:

class Block {
  constructor(previousHash, transaction, timestamp = Date.now()) {
    this.previousHash = previousHash;
    this.transaction = transaction;
    this.timestamp = timestamp;
  }
  getHash() {
    const json = JSON.stringify(this);
    const hash = crypto.createHash("SHA256");
    hash.update(json).end();
    const hex = hash.digest("hex");
    return hex;
  }
  toString() {
    return JSON.stringify(this);
  }
}

Bây giờ, hãy để Lôi tạo lớp

toString() {
  return JSON.stringify(this);
}
6.


Nhiều bài viết tuyệt vời hơn từ Logrocket:

  • Đừng bỏ lỡ một khoảnh khắc với bản phát lại, một bản tin được quản lý từ Logrocket
  • Tìm hiểu cách Galileo của Logrocket cắt giảm tiếng ồn để chủ động giải quyết các vấn đề trong ứng dụng của bạn
  • Sử dụng React's UsEffect để tối ưu hóa hiệu suất của ứng dụng của bạn
  • Chuyển đổi giữa nhiều phiên bản của nút
  • Khám phá cách làm động ứng dụng ứng dụng React của bạn với Animxyz
  • Khám phá Tauri, một khuôn khổ mới để xây dựng các nhị phân
  • So sánh NestJS so với Express.js

Tạo lớp toString() { return JSON.stringify(this); } 6

Bây giờ chúng tôi đã sẵn sàng lớp

toString() {
  return JSON.stringify(this);
}
5 của chúng tôi, chúng tôi có thể điền vào các khối đó trong một
toString() {
  return JSON.stringify(this);
}
6. Một chuỗi giữ mọi khối, hoặc mọi giao dịch, diễn ra trên blockchain. Như đã thảo luận trước đây, một blockchain chứa tất cả các khối được liên kết với nhau và dự án của chúng tôi cần một lớp
toString() {
  return JSON.stringify(this);
}
6 để giữ tất cả các khối lại với nhau ở một nơi.

Bởi vì chúng ta chỉ cần khởi tạo chuỗi một lần và không nhiều lần, chúng ta sẽ khởi tạo nó ngay lập tức trong lớp:

class Chain {
  static instance = new Chain();
}

Hãy để Lừa thiết lập hàm tạo của chúng tôi để chúng tôi có khối đầu tiên sẵn sàng trong chuỗi bất cứ khi nào chương trình được chạy. Điều này cũng sẽ thiết lập mảng nơi các khối của chúng tôi được đặt.

Chúng tôi làm điều này để loại bỏ bất kỳ lỗi nào trong dự án của chúng tôi, bởi vì chúng tôi phụ thuộc vào khối trước đó trong các phần của mã của chúng tôi, vì vậy chúng tôi cần một khối giả khởi tạo lúc đầu:

const crypto = require("crypto");
0

Bây giờ, chúng ta cần một chức năng để có được hàm băm cuối cùng của chuỗi, để sử dụng thông tin trong các khối mới:

const crypto = require("crypto");
1

Tiếp theo, hãy để tạo ra một chức năng sẽ thực sự tạo và chèn một khối vào mảng chuỗi của chúng tôi:

const crypto = require("crypto");
2

Ở đây, trước tiên chúng tôi đang sử dụng chức năng

getHash() {
  const json = JSON.stringify(this);
  const hash = crypto.createHash("SHA256");
  hash.update(json).end();
  const hex = hash.digest("hex");
  return hex;
}
7 từ gói
const crypto = require("crypto");
9 để xác minh băm với các khóa công khai. Sau đó, chúng tôi sử dụng dữ liệu từ JSON của một giao dịch cụ thể và cuối cùng xác minh bằng cách cung cấp khóa công khai của người gửi và chữ ký.

Điều này sẽ trả về một giá trị boolean mà chúng ta có thể sử dụng để kiểm tra xem xác minh có thành công hay không. Nếu xác minh thành công, chúng tôi chỉ cần tạo một khối mới với thông tin đó và thêm nó vào mảng chuỗi.

Bây giờ lớp

toString() {
  return JSON.stringify(this);
}
6 của bạn sẽ trông như thế này:

const crypto = require("crypto");
3

Tạo lớp toString() { return JSON.stringify(this); } 7

Bây giờ, hãy để tạo ra các ví, mà người dùng có thể sử dụng để gửi tiền điện tử cho người khác. Mỗi ví tiền điện tử có một cặp khóa: khóa công khai và khóa riêng. Các khóa riêng được sử dụng để tạo các giao dịch mới (ví dụ: gửi tiền điện tử) và khóa công khai được sử dụng để xác minh chúng và nhận tiền điện tử.

Trước tiên, hãy để thiết lập hàm tạo để chúng ta có thể tạo ra một cặp khóa ngay khi ví được bắt đầu:

const crypto = require("crypto");
4

Ở đây, chúng tôi đang sử dụng định dạng

toString() {
  JSON.stringify(this);
}
1 cho các khóa. Nó là một định dạng nổi tiếng và có thể được lưu trên PC của người dùng. Thuật toán
toString() {
  JSON.stringify(this);
}
2 cho phép chúng tôi tạo các khóa công khai và riêng tư.

Bây giờ, hãy để tạo ra một chức năng sẽ giúp chúng tôi gửi tiền điện tử đến các ví khác trên mạng:

const crypto = require("crypto");
5

Trong mã trên, chúng tôi lấy

class Transaction {
  constructor(amount, senderPublicKey, recieverPublicKey) {
    this.amount = amount;
    this.senderPublicKey = senderPublicKey;
    this.recieverPublicKey = recieverPublicKey;
  }
  // convert the data of the class to json so that
  // it can be converted into a hash
  toString() {
    return JSON.stringify(this);
  }
}
8 và
class Block {
  constructor(previousHash, transaction, timestamp = Date.now()) {
    this.previousHash = previousHash;
    this.transaction = transaction;
    this.timestamp = timestamp;
  }
}
0 làm tham số và tạo một đối tượng mới từ lớp
toString() {
  return JSON.stringify(this);
}
4 bằng cách sử dụng thông tin đó. Sau đó, chúng tôi tạo hàm băm của giao dịch và ký hợp đồng với khóa riêng. Cuối cùng, chúng tôi thêm nó vào chuỗi bằng hàm
toString() {
  JSON.stringify(this);
}
6.

Kiểm tra mọi thứ ra

Bây giờ mọi thứ đã sẵn sàng, bạn có thể kiểm tra mọi thứ bằng cách tạo ví và tạo các giao dịch bằng cách sử dụng chúng:

const crypto = require("crypto");
6

Trong mã trên, tôi đã tạo ví với các tên ngẫu nhiên (không hoàn toàn ngẫu nhiên, chúng là những nhân vật phản diện ở Naruto), và sau đó gửi tiền từ ví này sang ví khác và cuối cùng đăng nhập chuỗi để xem nó trông như thế nào.

Đối với tôi, chuỗi của tôi trông giống như thế này (bạn có thể khác nhau vì các băm khác nhau):

const crypto = require("crypto");
7

Cái gì tiếp theo?

Đây chỉ là những điều cơ bản của việc tạo ra tiền điện tử bằng JavaScript. Bạn không nên sử dụng điều này trong sản xuất vì tiền điện tử liên quan đến rất nhiều thứ khác nhau như khai thác và rất nhiều bảo mật có liên quan.

Nếu bạn bị mắc kẹt ở đâu đó, bạn luôn có thể truy cập kho lưu trữ GitHub của tôi để xem mã.

Nếu bạn muốn thử nghiệm nhiều hơn nữa, tôi sẽ khuyên bạn nên kết hợp hệ thống cân bằng ví và hệ thống khai thác vào dự án này.

Logrocket: Debug Lỗi JavaScript dễ dàng hơn bằng cách hiểu bối cảnh

Mã gỡ lỗi luôn là một nhiệm vụ tẻ nhạt. Nhưng bạn càng hiểu lỗi của mình thì càng dễ dàng sửa chúng.

Logrocket cho phép bạn hiểu các lỗi này theo những cách mới và độc đáo. Giải pháp giám sát frontend của chúng tôi theo dõi sự tham gia của người dùng với các mặt tiền JavaScript của bạn để cung cấp cho bạn khả năng tìm hiểu chính xác những gì người dùng đã làm dẫn đến lỗi.

Hướng dẫn how do i use crypto in javascript? - làm cách nào để sử dụng tiền điện tử trong javascript?

Logrocket Records nhật ký bảng điều khiển, thời gian tải trang, ngăn xếp, yêu cầu/phản hồi mạng chậm với các tiêu đề + thân, siêu dữ liệu trình duyệt và nhật ký tùy chỉnh. Hiểu được tác động của mã JavaScript của bạn sẽ không bao giờ dễ dàng hơn!

Hãy thử nó miễn phí.

Crypto trong JavaScript là gì?

Crypto-JS là một bộ sưu tập các thuật toán mật mã tiêu chuẩn và an toàn đang phát triển được triển khai trong JavaScript bằng cách sử dụng các thực tiễn và mẫu tốt nhất. Chúng nhanh chóng, và chúng có một giao diện đơn giản và nhất quán. Thuật toán: MD5, SHA-1, SHA-256, AES, DES, Rabbit, Marc4, HMAC (HMAC-MD5, HMAC-SHA1, HMAC-SHA256) PBKDF2.a growing collection of standard and secure cryptographic algorithms implemented in JavaScript using best practices and patterns. They are fast, and they have a consistent and simple interface. Algorithms: MD5, SHA-1, SHA-256, AES, DES, Rabbit, MARC4, HMAC (HMAC-MD5, HMAC-SHA1, HMAC-SHA256) PBKDF2.

Làm cách nào để sử dụng API tiền điện tử?

Nhấp vào Cryptoapi và thêm tất cả các phụ thuộc.Sau đó bạn có thể sử dụng hành động máy chủ ...
Tạo khóa và lưu phím đó vào DB trước khi mã hóa dữ liệu ..
Lưu dữ liệu được mã hóa vào DB bằng cách sử dụng khóa được tạo trong bước đầu tiên ..
Tìm nạp chìa khóa từ DB để giải mã dữ liệu một lần nữa ..

Làm cách nào để sử dụng Crypto trong Node JS?

Ví dụ mã hóa bằng mật mã..
const crypto = yêu cầu ('tiền điện tử') ;.
const Cipher = crypto.CreateCode ('AES192', 'A Mật khẩu') ;.
var encrypted = code.update ('xin chào javatpoint', 'utf8', 'hex') ;.
được mã hóa += mật mã.cuối cùng ('hex') ;.
console.log(encrypted);.

Crypto có hoạt động trong trình duyệt không?

Hầu như tất cả các trình duyệt tiền điện tử tích hợp một ví tiền điện tử cho phép bạn mua, bán hoặc lưu trữ tiền điện tử của bạn.Trong khi một số ví tiền điện tử này được tích hợp vào trình duyệt (hay còn gọi là Trình duyệt-Bản địa), nhiều loại hoạt động như các phần mở rộng.. While some of these crypto wallets are built into the browser (aka “browser-native”), many operate as extensions.