CODE VN

CODE VN

1644947580

Hướng dẫn về ví BSC - Cách thiết lập Ví chuỗi thông minh Binance

Bạn đang muốn thiết lập ví BSC? Nếu vậy, bạn đã đến đúng nơi! Đọc tiếp để tìm hiểu cách thiết lập ví Binance Smart Chain!

Bên cạnh Ethereum , nhiều blockchain có thể lập trình khác xứng đáng đứng đầu bảng xếp hạng. Một trong số đó là Binance Smart Chain, thực sự vẫn là một trong những lựa chọn phù hợp cho các nhà phát triển muốn khởi chạy dApps ( ứng dụng phi tập trung ) hoặc triển khai mã thông báo tiền điện tử một cách nhanh chóng . Điều này không có gì đáng ngạc nhiên bởi vì, không giống như phí gas Ethereum , BSC cung cấp mức phí đặc biệt thấp. Do đó, đây là một giải pháp thay thế tuyệt vời cho các dự án đang tìm cách tối đa hóa lợi nhuận của họ. Bây giờ, vì hầu hết các nhiệm vụ lập trình trong phát triển Chuỗi thông minh Binanceyêu cầu ví BSC, bạn sẽ muốn chú ý đến nội dung của hướng dẫn về ví BSC này. Sau đó, bạn sẽ có hiểu biết cơ bản về BSC và bạn cũng sẽ biết cách thiết lập ví Binance Smart Chain một cách nhanh chóng với Moralis.

Trong tương lai, chúng tôi sẽ cho bạn thấy việc thiết lập ví BSC của bạn dễ dàng như thế nào bằng cách sử dụng một trong những ví Web3 phổ biến nhất - MetaMask . Hãy nhớ rằng MetaMask dành cho nhà phát triển đại diện cho một công cụ mạnh mẽ và hữu ích cho các lập trình viên. Hơn nữa, xác thực Web3 , đăng nhập Web3 và xác thực Web3 qua email trở thành một quá trình đơn giản khi xây dựng dApp với MetaMask . Ngoài việc sử dụng một ví BSC thích hợp, bạn có thể làm cho việc lập trình BSC của mình trở nên đơn giản hơn rất nhiều bằng cách sử dụng nền tảng phụ trợ Web3 tốt nhất - Moralis . Nền tảng phát triển Web3 cuối cùng này (hay còn gọi làFirebase cho tiền điện tử ) cho phép bạn tập trung hoàn toàn vào giao diện người dùng. Như vậy, bạn có thể tạo giao diện người dùng dApp tuyệt vời và thu hút nhiều người dùng hơn. Đồng thời, bạn sẽ tiết kiệm được hơn 87% thời gian phát triển.

Ví BSC là gì?

Điều quan trọng là phải hiểu rõ ràng về những điều cơ bản trước khi lặn sâu hơn. Do đó, chúng tôi muốn đảm bảo rằng tất cả các bạn đều có thể trả lời câu hỏi “ví BSC là gì?” câu hỏi một cách tự tin. Vì vậy, hãy chia nhỏ các thuật ngữ “BSC” và “ví”. Như bạn có thể đã nhận ra bây giờ, “BSC” là viết tắt của Binance Smart Chain. Sau đó là blockchain Binance nhằm mục đích phát triển dApps và triển khai hợp đồng thông minh. Chúng ta sẽ đi vào chi tiết hơn về BSC trong phần sau.

Trong khi tất cả các bạn đều biết ví là gì trong thế giới vật lý, trong trường hợp của chúng tôi, từ này đề cập đến ví tiền điện tử. Hơn nữa, ví tiền điện tử có thể được chia thành hai nhóm: ví tiền điện tử lạnh và ví tiền điện tử nóng. Ví lạnh là nơi lưu trữ ngoại tuyến (thậm chí có thể là một tờ giấy), trong khi ví nóng là ứng dụng trực tuyến cho phép bạn tương tác với lĩnh vực Web3. Một số người có thể tin rằng ví BSC đề cập đến một ví tiền điện tử lạnh nhằm lưu trữ mã thông báo gốc của Binance Chain và BSC - Binance Coin (BNB). Tuy nhiên, nó thực sự có nghĩa là một ví tiền điện tử nóng hổi phục vụ cùng một mục đích. Ngoài ra, điều quan trọng cần lưu ý là bất kỳ địa chỉ tiền điện tử nào có thể được sử dụng để lưu trữ BNB đều có thể được coi là ví BSC.Nếu bạn quan tâm đến việc tìm hiểu sâu hơn về ví blockchain, hãy đảm bảo theo liên kết “Ví Web3” được đề cập trước đó.  

Chúng tôi cũng chỉ ra rằng Binance có ví nóng của riêng mình ở dạng ứng dụng dành cho thiết bị di động và tiện ích mở rộng trình duyệt. Sau này là một lựa chọn chắc chắn, đặc biệt nếu bạn sử dụng sàn giao dịch tiền điện tử của Binance. Tuy nhiên, nếu bạn là một nhà phát triển (hoặc đang muốn trở thành một nhà phát triển blockchain ), thì việc sử dụng MetaMask thường là lựa chọn ưu tiên khi chọn ví tiền điện tử.  

Chuỗi thông minh Binance là gì?

Những người mới tham gia lĩnh vực tiền điện tử thường thậm chí không nhận thức được rằng Binance có nhiều thứ hơn chỉ là một sàn giao dịch tập trung (CEX). Do đó, chúng ta phải chỉ ra rằng Binance lưu trữ một hệ sinh thái rộng lớn của các sản phẩm tiền điện tử. Điều này bao gồm Binance Labs như một vườn ươm cho các dự án, Binance Launchpad cho các sự kiện bán mã thông báo, các giải pháp trao đổi doanh nghiệp với Binance Cloud, thị trường NFT của riêng mình, v.v. Khi tất cả những điều này được xem xét, thật khó để nói rằng Binance là một CEX. Nó là một nền tảng kết hợp nhiều hơn.

Hơn nữa, Binance Chain là chuỗi khối chuyên dụng của Binance để xử lý và xác thực các giao dịch trong hệ sinh thái Binance. Ngoài ra, đây là chuỗi ban đầu từ Binance, vốn đã được thiết kế để lưu trữ tiền BNB. Tuy nhiên, Binance Chain cũng cho phép giao dịch với toàn quyền quản lý các khóa cá nhân. Tuy nhiên, Binance Chain không được xây dựng để tạo điều kiện cho các hợp đồng thông minh. Do đó, nó không hỗ trợ sự phát triển của các ứng dụng phi tập trung. Do đó, Binance Smart Chain (BSC) đã được giới thiệu.

Không giống như Binance Chain, BSC là một blockchain hỗ trợ hợp đồng thông minh và nó hoạt động song song với Binance Chain. Hơn nữa, điều quan trọng cần lưu ý là hai chuỗi hoàn toàn có thể tương tác với nhau. Tuy nhiên, mặt khác, cơ sở hạ tầng của họ hoàn toàn độc lập. Do đó, trong trường hợp Binance Chain không hoạt động, BSC sẽ tiếp tục chạy liên tục. 

Xem xét quan điểm của các nhà phát triển, BSC cảm thấy khá giống với chuỗi khối Ethereum. Lý do cho điều đó nằm ở chỗ BSC về cơ bản sử dụng cơ sở mã giống như Ethereum. Tất nhiên, có một số thông số được điều chỉnh và cập nhật, nhưng nguyên tắc là như nhau. Điều này cũng làm cho BSC EVM tương thích. Hơn nữa, nếu chúng ta thêm quan điểm của người dùng (họ muốn tốc độ và phí thấp), bạn không nên bỏ qua BSC.

Hướng dẫn Ví BSC

Vì tất cả chúng ta đều nghiên cứu về phát triển blockchain và hiểu rằng một số trong số đó có vẻ khó khăn, chúng tôi muốn làm cho nó càng đơn giản càng tốt. Đây là cách để đưa công nghệ blockchain ( ngăn xếp công nghệ Web3 ) đến gần hơn một bước với việc áp dụng chính thống. Do đó, không có gì ngạc nhiên khi biết rằng Moralis bao gồm tích hợp MetaMask đầy đủ. Hơn nữa, như đã đề cập trước đây, phần sau làm cho việc tạo và khởi chạy dApp và mã thông báo trở nên đơn giản hơn rất nhiều. Vì vậy, hãy để hướng dẫn về ví BSC này dẫn bạn qua quá trình thiết lập ví BSC đầu tiên của bạn. Ngoài ra, chúng tôi sẽ hướng dẫn bạn cách thêm cả BSC mainnet và testnet vào MetaMask. Bằng cách học cách thêm mạng BSC vào MetaMask, bạn sẽ có thể sử dụng các nguyên tắc tương tự để thêm các chuỗi có uy tín khác vào ví Web3 này.  

MetaMask làm Ví BSC

Trong các phần tiếp theo, chúng tôi sẽ hướng dẫn bạn quy trình tải xuống MetaMask, cài đặt nó, thiết lập ví đầu tiên của bạn và thêm mạng BSC. Về cơ bản, đây là các bước bạn cần hoàn thành để thiết lập ví BSC đầu tiên của mình. Nếu bạn đã cài đặt tiện ích mở rộng MetaMask trên trình duyệt của mình, bạn có thể chuyển sang phần “Thêm BSC vào MetaMask” bên dưới.

Tải xuống và cài đặt MetaMask

  1. Sử dụng trình duyệt ưa thích của bạn và nhập “MetaMask” vào thanh tìm kiếm. Sau đó, hãy đảm bảo chọn trang web MetaMask chính thức:

  1. Khi ở trên trang chủ của MetaMask, hãy nhấp vào nút “Tải xuống” ở menu trên cùng hoặc nút “Tải xuống ngay bây giờ” được cung cấp bên dưới:

  1. Trên trang “Tải xuống”, bạn sẽ có tùy chọn để chọn giữa “Chrome”, “iOS” và “Android”. Giả sử rằng bạn định sử dụng ví MetaMask của mình cho mục đích phát triển, chúng tôi sẽ tập trung vào tùy chọn “Chrome”. Do đó, hãy đảm bảo rằng tùy chọn “Chrome” được chọn và nhấp vào nút “Cài đặt MetaMask cho Chrome”:

  1. Sau khi được chuyển hướng đến cửa hàng trực tuyến của Google Chrome, bạn cần nhấp vào nút “Thêm vào Chrome”:

  1. Sau đó, bạn sẽ thấy một cửa sổ bật lên yêu cầu xác nhận của bạn. Do đó, chỉ cần nhấp vào nút “Thêm tiện ích mở rộng”:
  2. Nếu bạn đã thực hiện tất cả các bước trên đúng cách, bạn sẽ được chào đón bằng thông báo chào mừng của MetaMask. Điều này cũng kết thúc quá trình cài đặt tiện ích mở rộng MetaMask. Tuy nhiên, để tạo ví mới, bạn cần nhấp vào nút “Bắt đầu”:

Tạo Ví mới với MetaMask

Sau khi nhấp vào “Bắt đầu”, bạn sẽ được hỏi liệu bạn có phải là người mới sử dụng MetaMask hay không. Nếu bạn đã có ví của mình, bạn có thể sử dụng cụm từ khôi phục bí mật của mình để truy cập nó (nhấp vào “Nhập ví”). Nếu không, hãy chọn “tạo ví”. Như đã đề cập ở trên, chúng tôi sẽ tập trung vào việc tạo một ví mới ở đây. 

  1. Bắt đầu bằng cách nhấp vào “Tạo Ví” ở phía bên phải:

  1. Để hoàn thành bước tiếp theo, bạn cần tạo mật khẩu của mình và xác nhận mật khẩu đó. Đảm bảo ghi nhớ mật khẩu của bạn hoặc viết ra và cất ở nơi an toàn .

  1. Hướng dẫn MetaMask có thể xuất hiện cùng với video hướng dẫn như một phần của quy trình. Chúng tôi khuyên bạn nên xem nó. Tuy nhiên, bước quan trọng tiếp theo là về cụm từ khôi phục bí mật, mà bạn cần lưu trữ một cách an toàn. Bắt đầu bằng cách nhấp vào “nhấp vào đây để tiết lộ những từ bí mật”:

  1. Sau khi tiết lộ những lời bí mật của mình, bạn cần sao chép / viết chúng ra theo đúng thứ tự và cất chúng ở nơi an toàn. Cách thực hành an toàn nhất là viết tay chúng trên một tờ giấy (nhớ kiểm tra kỹ chính tả). Sau đó cất mảnh giấy đó vào một nơi an toàn. Đây là một bước quan trọng, vì vậy hãy đảm bảo làm đúng. Ngoài ra, hãy lưu ý rằng thứ tự của các từ cũng quan trọng. Cụm từ khôi phục bí mật của bạn sẽ cho phép bạn truy cập ví của mình từ bất kỳ thiết bị nào khác hoặc khôi phục tài khoản của bạn nếu cần. Sau khi viết ra những lời bí mật của bạn, hãy nhấp vào “Tiếp theo”.
  2. Bạn sẽ được yêu cầu nhập cụm từ của mình từ bước trước theo đúng thứ tự. Làm như vậy để hoàn thành việc tạo ví của bạn:

Đến đây, bạn đã tạo thành công ví MetaMask của mình. Tuy nhiên, theo mặc định, MetaMask chỉ hỗ trợ các testnet Ethereum và mainnet. Do đó, bạn vẫn cần thêm mạng BSC vào ví của mình để thực sự nhận được ví BSC. 

Thêm BSC vào MetaMask

Khi nói đến việc thêm BSC (hoặc bất kỳ chuỗi khối nào khác) vào MetaMask, bạn có hai tùy chọn:

  1. Làm điều đó một cách thủ công . Đây là phương pháp an toàn hơn và do đó, là phương pháp chúng tôi khuyên dùng.
  2. Làm điều đó một cách tự động . Sử dụng một trang web có uy tín sẽ thêm một chuỗi cụ thể chỉ bằng một nút bấm . Đây là phương pháp nhanh hơn nhưng tiềm ẩn nhiều nguy cơ. Nếu bạn quyết định sử dụng phương pháp này, hãy đảm bảo rằng bạn tin tưởng trang web. Có rất nhiều trang web cung cấp phím tắt này; tuy nhiên, chúng tôi không thể đảm bảo cho họ. Mặc dù vậy, chúng tôi có thể bảo đảm cho Moralis. Như vậy, hãy xem hướng dẫn bên dưới.

Cách thêm Ví BSC vào MetaMask theo cách thủ công

  1. Mở tiện ích mở rộng MetaMask của bạn, nhấp vào biểu tượng “tài khoản”, sau đó chọn “Cài đặt”:

  1. Khi ở trên trang cài đặt, hãy chọn tùy chọn “Mạng”:

  1. Để có cơ hội nhập thông tin chi tiết của BSC (sẽ được nhập vào hình chữ nhật tròn hơn ở trên) theo cách thủ công, bạn cần nhấp vào nút “Thêm mạng”.
  2. Thêm các chi tiết sau và nhấp vào nút "Lưu".
    1. Chi tiết để thêm mainnet của BSC :
  • Tên mạng: Chuỗi thông minh
  • URL RPC mới: https://bsc-dataseed.binance.org/
  • ID chuỗi: 56
  • Ký hiệu: BNB
  • Chặn URL Explorer: https://bscscan.com
  1. Chi tiết để thêm testnet của BSC :
  • Tên mạng: Chuỗi thông minh - Testnet
  • URL RPC mới: https://data-seed-prebsc-1-s1.binance.org:8545/
  • ID chuỗi: 97
  • Ký hiệu: BNB
  • Block Explorer URL: https://testnet.bscscan.com

Cách tự động thêm ví BSC vào MetaMask

Nếu bạn định sử dụng Moralis để tăng tốc độ phát triển dApp của mình, bạn sẽ cần tạo tài khoản Moralis miễn phí của mình . Như vậy, bạn sẽ có thể truy cập khu vực quản trị Moralis của mình. Đây là nơi bạn sẽ có tùy chọn để thêm ví BSC vào MetaMask của mình chỉ bằng một nút bấm. Đây là cách thực hiện:

  1. Chọn tab "Nút Nhanh":

  1. Nhấp vào “Điểm cuối” trong “Mạng BSC” (xem hình trên).
  2. Trong cửa sổ bật lên, bạn sẽ thấy các nút “Thêm vào MetaMask” cho mạng chính và mạng thử nghiệm. Nhấp vào nút cho mạng mà bạn muốn thêm:

  1. Bước cuối cùng là xác nhận chuyển đổi mạng trong MetaMask:

Hướng dẫn về ví BSC - Cách thiết lập Ví chuỗi thông minh Binance - Tóm tắt

Chúng tôi đã đề cập rất nhiều điều trong hướng dẫn về ví này cho Chuỗi thông minh Binance. Như vậy, bây giờ bạn đã biết ví BSC là gì và cách thiết lập ví BSC cho các mục đích phát triển. Trên đường đi, bạn cũng đã biết được một số thông tin hữu ích về Binance Smart Chain và nó khác với Binance Chain như thế nào. Hơn nữa, bạn cũng đã tìm hiểu về nền tảng phát triển Web3 cuối cùng, Moralis. Cái thứ hai cho phép bạn tạo mã thông báo BSC hoặc xây dựng các dApp BSC trong vài phút mà không cần lo lắng về phần phụ trợ. Ngoài ra, Moralis cũng là một trong những nơi tốt nhất để tìm hiểu về tất cả những thứ liên quan đến BSC, chẳng hạn như BEP-20BscScan .

Nguồn bài viết gốc tại https://moralis.io

What is GEEK

Buddha Community

CODE VN

CODE VN

1644947580

Hướng dẫn về ví BSC - Cách thiết lập Ví chuỗi thông minh Binance

Bạn đang muốn thiết lập ví BSC? Nếu vậy, bạn đã đến đúng nơi! Đọc tiếp để tìm hiểu cách thiết lập ví Binance Smart Chain!

Bên cạnh Ethereum , nhiều blockchain có thể lập trình khác xứng đáng đứng đầu bảng xếp hạng. Một trong số đó là Binance Smart Chain, thực sự vẫn là một trong những lựa chọn phù hợp cho các nhà phát triển muốn khởi chạy dApps ( ứng dụng phi tập trung ) hoặc triển khai mã thông báo tiền điện tử một cách nhanh chóng . Điều này không có gì đáng ngạc nhiên bởi vì, không giống như phí gas Ethereum , BSC cung cấp mức phí đặc biệt thấp. Do đó, đây là một giải pháp thay thế tuyệt vời cho các dự án đang tìm cách tối đa hóa lợi nhuận của họ. Bây giờ, vì hầu hết các nhiệm vụ lập trình trong phát triển Chuỗi thông minh Binanceyêu cầu ví BSC, bạn sẽ muốn chú ý đến nội dung của hướng dẫn về ví BSC này. Sau đó, bạn sẽ có hiểu biết cơ bản về BSC và bạn cũng sẽ biết cách thiết lập ví Binance Smart Chain một cách nhanh chóng với Moralis.

Trong tương lai, chúng tôi sẽ cho bạn thấy việc thiết lập ví BSC của bạn dễ dàng như thế nào bằng cách sử dụng một trong những ví Web3 phổ biến nhất - MetaMask . Hãy nhớ rằng MetaMask dành cho nhà phát triển đại diện cho một công cụ mạnh mẽ và hữu ích cho các lập trình viên. Hơn nữa, xác thực Web3 , đăng nhập Web3 và xác thực Web3 qua email trở thành một quá trình đơn giản khi xây dựng dApp với MetaMask . Ngoài việc sử dụng một ví BSC thích hợp, bạn có thể làm cho việc lập trình BSC của mình trở nên đơn giản hơn rất nhiều bằng cách sử dụng nền tảng phụ trợ Web3 tốt nhất - Moralis . Nền tảng phát triển Web3 cuối cùng này (hay còn gọi làFirebase cho tiền điện tử ) cho phép bạn tập trung hoàn toàn vào giao diện người dùng. Như vậy, bạn có thể tạo giao diện người dùng dApp tuyệt vời và thu hút nhiều người dùng hơn. Đồng thời, bạn sẽ tiết kiệm được hơn 87% thời gian phát triển.

Ví BSC là gì?

Điều quan trọng là phải hiểu rõ ràng về những điều cơ bản trước khi lặn sâu hơn. Do đó, chúng tôi muốn đảm bảo rằng tất cả các bạn đều có thể trả lời câu hỏi “ví BSC là gì?” câu hỏi một cách tự tin. Vì vậy, hãy chia nhỏ các thuật ngữ “BSC” và “ví”. Như bạn có thể đã nhận ra bây giờ, “BSC” là viết tắt của Binance Smart Chain. Sau đó là blockchain Binance nhằm mục đích phát triển dApps và triển khai hợp đồng thông minh. Chúng ta sẽ đi vào chi tiết hơn về BSC trong phần sau.

Trong khi tất cả các bạn đều biết ví là gì trong thế giới vật lý, trong trường hợp của chúng tôi, từ này đề cập đến ví tiền điện tử. Hơn nữa, ví tiền điện tử có thể được chia thành hai nhóm: ví tiền điện tử lạnh và ví tiền điện tử nóng. Ví lạnh là nơi lưu trữ ngoại tuyến (thậm chí có thể là một tờ giấy), trong khi ví nóng là ứng dụng trực tuyến cho phép bạn tương tác với lĩnh vực Web3. Một số người có thể tin rằng ví BSC đề cập đến một ví tiền điện tử lạnh nhằm lưu trữ mã thông báo gốc của Binance Chain và BSC - Binance Coin (BNB). Tuy nhiên, nó thực sự có nghĩa là một ví tiền điện tử nóng hổi phục vụ cùng một mục đích. Ngoài ra, điều quan trọng cần lưu ý là bất kỳ địa chỉ tiền điện tử nào có thể được sử dụng để lưu trữ BNB đều có thể được coi là ví BSC.Nếu bạn quan tâm đến việc tìm hiểu sâu hơn về ví blockchain, hãy đảm bảo theo liên kết “Ví Web3” được đề cập trước đó.  

Chúng tôi cũng chỉ ra rằng Binance có ví nóng của riêng mình ở dạng ứng dụng dành cho thiết bị di động và tiện ích mở rộng trình duyệt. Sau này là một lựa chọn chắc chắn, đặc biệt nếu bạn sử dụng sàn giao dịch tiền điện tử của Binance. Tuy nhiên, nếu bạn là một nhà phát triển (hoặc đang muốn trở thành một nhà phát triển blockchain ), thì việc sử dụng MetaMask thường là lựa chọn ưu tiên khi chọn ví tiền điện tử.  

Chuỗi thông minh Binance là gì?

Những người mới tham gia lĩnh vực tiền điện tử thường thậm chí không nhận thức được rằng Binance có nhiều thứ hơn chỉ là một sàn giao dịch tập trung (CEX). Do đó, chúng ta phải chỉ ra rằng Binance lưu trữ một hệ sinh thái rộng lớn của các sản phẩm tiền điện tử. Điều này bao gồm Binance Labs như một vườn ươm cho các dự án, Binance Launchpad cho các sự kiện bán mã thông báo, các giải pháp trao đổi doanh nghiệp với Binance Cloud, thị trường NFT của riêng mình, v.v. Khi tất cả những điều này được xem xét, thật khó để nói rằng Binance là một CEX. Nó là một nền tảng kết hợp nhiều hơn.

Hơn nữa, Binance Chain là chuỗi khối chuyên dụng của Binance để xử lý và xác thực các giao dịch trong hệ sinh thái Binance. Ngoài ra, đây là chuỗi ban đầu từ Binance, vốn đã được thiết kế để lưu trữ tiền BNB. Tuy nhiên, Binance Chain cũng cho phép giao dịch với toàn quyền quản lý các khóa cá nhân. Tuy nhiên, Binance Chain không được xây dựng để tạo điều kiện cho các hợp đồng thông minh. Do đó, nó không hỗ trợ sự phát triển của các ứng dụng phi tập trung. Do đó, Binance Smart Chain (BSC) đã được giới thiệu.

Không giống như Binance Chain, BSC là một blockchain hỗ trợ hợp đồng thông minh và nó hoạt động song song với Binance Chain. Hơn nữa, điều quan trọng cần lưu ý là hai chuỗi hoàn toàn có thể tương tác với nhau. Tuy nhiên, mặt khác, cơ sở hạ tầng của họ hoàn toàn độc lập. Do đó, trong trường hợp Binance Chain không hoạt động, BSC sẽ tiếp tục chạy liên tục. 

Xem xét quan điểm của các nhà phát triển, BSC cảm thấy khá giống với chuỗi khối Ethereum. Lý do cho điều đó nằm ở chỗ BSC về cơ bản sử dụng cơ sở mã giống như Ethereum. Tất nhiên, có một số thông số được điều chỉnh và cập nhật, nhưng nguyên tắc là như nhau. Điều này cũng làm cho BSC EVM tương thích. Hơn nữa, nếu chúng ta thêm quan điểm của người dùng (họ muốn tốc độ và phí thấp), bạn không nên bỏ qua BSC.

Hướng dẫn Ví BSC

Vì tất cả chúng ta đều nghiên cứu về phát triển blockchain và hiểu rằng một số trong số đó có vẻ khó khăn, chúng tôi muốn làm cho nó càng đơn giản càng tốt. Đây là cách để đưa công nghệ blockchain ( ngăn xếp công nghệ Web3 ) đến gần hơn một bước với việc áp dụng chính thống. Do đó, không có gì ngạc nhiên khi biết rằng Moralis bao gồm tích hợp MetaMask đầy đủ. Hơn nữa, như đã đề cập trước đây, phần sau làm cho việc tạo và khởi chạy dApp và mã thông báo trở nên đơn giản hơn rất nhiều. Vì vậy, hãy để hướng dẫn về ví BSC này dẫn bạn qua quá trình thiết lập ví BSC đầu tiên của bạn. Ngoài ra, chúng tôi sẽ hướng dẫn bạn cách thêm cả BSC mainnet và testnet vào MetaMask. Bằng cách học cách thêm mạng BSC vào MetaMask, bạn sẽ có thể sử dụng các nguyên tắc tương tự để thêm các chuỗi có uy tín khác vào ví Web3 này.  

MetaMask làm Ví BSC

Trong các phần tiếp theo, chúng tôi sẽ hướng dẫn bạn quy trình tải xuống MetaMask, cài đặt nó, thiết lập ví đầu tiên của bạn và thêm mạng BSC. Về cơ bản, đây là các bước bạn cần hoàn thành để thiết lập ví BSC đầu tiên của mình. Nếu bạn đã cài đặt tiện ích mở rộng MetaMask trên trình duyệt của mình, bạn có thể chuyển sang phần “Thêm BSC vào MetaMask” bên dưới.

Tải xuống và cài đặt MetaMask

  1. Sử dụng trình duyệt ưa thích của bạn và nhập “MetaMask” vào thanh tìm kiếm. Sau đó, hãy đảm bảo chọn trang web MetaMask chính thức:

  1. Khi ở trên trang chủ của MetaMask, hãy nhấp vào nút “Tải xuống” ở menu trên cùng hoặc nút “Tải xuống ngay bây giờ” được cung cấp bên dưới:

  1. Trên trang “Tải xuống”, bạn sẽ có tùy chọn để chọn giữa “Chrome”, “iOS” và “Android”. Giả sử rằng bạn định sử dụng ví MetaMask của mình cho mục đích phát triển, chúng tôi sẽ tập trung vào tùy chọn “Chrome”. Do đó, hãy đảm bảo rằng tùy chọn “Chrome” được chọn và nhấp vào nút “Cài đặt MetaMask cho Chrome”:

  1. Sau khi được chuyển hướng đến cửa hàng trực tuyến của Google Chrome, bạn cần nhấp vào nút “Thêm vào Chrome”:

  1. Sau đó, bạn sẽ thấy một cửa sổ bật lên yêu cầu xác nhận của bạn. Do đó, chỉ cần nhấp vào nút “Thêm tiện ích mở rộng”:
  2. Nếu bạn đã thực hiện tất cả các bước trên đúng cách, bạn sẽ được chào đón bằng thông báo chào mừng của MetaMask. Điều này cũng kết thúc quá trình cài đặt tiện ích mở rộng MetaMask. Tuy nhiên, để tạo ví mới, bạn cần nhấp vào nút “Bắt đầu”:

Tạo Ví mới với MetaMask

Sau khi nhấp vào “Bắt đầu”, bạn sẽ được hỏi liệu bạn có phải là người mới sử dụng MetaMask hay không. Nếu bạn đã có ví của mình, bạn có thể sử dụng cụm từ khôi phục bí mật của mình để truy cập nó (nhấp vào “Nhập ví”). Nếu không, hãy chọn “tạo ví”. Như đã đề cập ở trên, chúng tôi sẽ tập trung vào việc tạo một ví mới ở đây. 

  1. Bắt đầu bằng cách nhấp vào “Tạo Ví” ở phía bên phải:

  1. Để hoàn thành bước tiếp theo, bạn cần tạo mật khẩu của mình và xác nhận mật khẩu đó. Đảm bảo ghi nhớ mật khẩu của bạn hoặc viết ra và cất ở nơi an toàn .

  1. Hướng dẫn MetaMask có thể xuất hiện cùng với video hướng dẫn như một phần của quy trình. Chúng tôi khuyên bạn nên xem nó. Tuy nhiên, bước quan trọng tiếp theo là về cụm từ khôi phục bí mật, mà bạn cần lưu trữ một cách an toàn. Bắt đầu bằng cách nhấp vào “nhấp vào đây để tiết lộ những từ bí mật”:

  1. Sau khi tiết lộ những lời bí mật của mình, bạn cần sao chép / viết chúng ra theo đúng thứ tự và cất chúng ở nơi an toàn. Cách thực hành an toàn nhất là viết tay chúng trên một tờ giấy (nhớ kiểm tra kỹ chính tả). Sau đó cất mảnh giấy đó vào một nơi an toàn. Đây là một bước quan trọng, vì vậy hãy đảm bảo làm đúng. Ngoài ra, hãy lưu ý rằng thứ tự của các từ cũng quan trọng. Cụm từ khôi phục bí mật của bạn sẽ cho phép bạn truy cập ví của mình từ bất kỳ thiết bị nào khác hoặc khôi phục tài khoản của bạn nếu cần. Sau khi viết ra những lời bí mật của bạn, hãy nhấp vào “Tiếp theo”.
  2. Bạn sẽ được yêu cầu nhập cụm từ của mình từ bước trước theo đúng thứ tự. Làm như vậy để hoàn thành việc tạo ví của bạn:

Đến đây, bạn đã tạo thành công ví MetaMask của mình. Tuy nhiên, theo mặc định, MetaMask chỉ hỗ trợ các testnet Ethereum và mainnet. Do đó, bạn vẫn cần thêm mạng BSC vào ví của mình để thực sự nhận được ví BSC. 

Thêm BSC vào MetaMask

Khi nói đến việc thêm BSC (hoặc bất kỳ chuỗi khối nào khác) vào MetaMask, bạn có hai tùy chọn:

  1. Làm điều đó một cách thủ công . Đây là phương pháp an toàn hơn và do đó, là phương pháp chúng tôi khuyên dùng.
  2. Làm điều đó một cách tự động . Sử dụng một trang web có uy tín sẽ thêm một chuỗi cụ thể chỉ bằng một nút bấm . Đây là phương pháp nhanh hơn nhưng tiềm ẩn nhiều nguy cơ. Nếu bạn quyết định sử dụng phương pháp này, hãy đảm bảo rằng bạn tin tưởng trang web. Có rất nhiều trang web cung cấp phím tắt này; tuy nhiên, chúng tôi không thể đảm bảo cho họ. Mặc dù vậy, chúng tôi có thể bảo đảm cho Moralis. Như vậy, hãy xem hướng dẫn bên dưới.

Cách thêm Ví BSC vào MetaMask theo cách thủ công

  1. Mở tiện ích mở rộng MetaMask của bạn, nhấp vào biểu tượng “tài khoản”, sau đó chọn “Cài đặt”:

  1. Khi ở trên trang cài đặt, hãy chọn tùy chọn “Mạng”:

  1. Để có cơ hội nhập thông tin chi tiết của BSC (sẽ được nhập vào hình chữ nhật tròn hơn ở trên) theo cách thủ công, bạn cần nhấp vào nút “Thêm mạng”.
  2. Thêm các chi tiết sau và nhấp vào nút "Lưu".
    1. Chi tiết để thêm mainnet của BSC :
  • Tên mạng: Chuỗi thông minh
  • URL RPC mới: https://bsc-dataseed.binance.org/
  • ID chuỗi: 56
  • Ký hiệu: BNB
  • Chặn URL Explorer: https://bscscan.com
  1. Chi tiết để thêm testnet của BSC :
  • Tên mạng: Chuỗi thông minh - Testnet
  • URL RPC mới: https://data-seed-prebsc-1-s1.binance.org:8545/
  • ID chuỗi: 97
  • Ký hiệu: BNB
  • Block Explorer URL: https://testnet.bscscan.com

Cách tự động thêm ví BSC vào MetaMask

Nếu bạn định sử dụng Moralis để tăng tốc độ phát triển dApp của mình, bạn sẽ cần tạo tài khoản Moralis miễn phí của mình . Như vậy, bạn sẽ có thể truy cập khu vực quản trị Moralis của mình. Đây là nơi bạn sẽ có tùy chọn để thêm ví BSC vào MetaMask của mình chỉ bằng một nút bấm. Đây là cách thực hiện:

  1. Chọn tab "Nút Nhanh":

  1. Nhấp vào “Điểm cuối” trong “Mạng BSC” (xem hình trên).
  2. Trong cửa sổ bật lên, bạn sẽ thấy các nút “Thêm vào MetaMask” cho mạng chính và mạng thử nghiệm. Nhấp vào nút cho mạng mà bạn muốn thêm:

  1. Bước cuối cùng là xác nhận chuyển đổi mạng trong MetaMask:

Hướng dẫn về ví BSC - Cách thiết lập Ví chuỗi thông minh Binance - Tóm tắt

Chúng tôi đã đề cập rất nhiều điều trong hướng dẫn về ví này cho Chuỗi thông minh Binance. Như vậy, bây giờ bạn đã biết ví BSC là gì và cách thiết lập ví BSC cho các mục đích phát triển. Trên đường đi, bạn cũng đã biết được một số thông tin hữu ích về Binance Smart Chain và nó khác với Binance Chain như thế nào. Hơn nữa, bạn cũng đã tìm hiểu về nền tảng phát triển Web3 cuối cùng, Moralis. Cái thứ hai cho phép bạn tạo mã thông báo BSC hoặc xây dựng các dApp BSC trong vài phút mà không cần lo lắng về phần phụ trợ. Ngoài ra, Moralis cũng là một trong những nơi tốt nhất để tìm hiểu về tất cả những thứ liên quan đến BSC, chẳng hạn như BEP-20BscScan .

Nguồn bài viết gốc tại https://moralis.io

Amara Sophi

Amara Sophi

1602666712

Binance Clone Script to Start a Crypto Exchange like Binance

Cryptocurrencies are the hot topic in recent days!! There are many startups and business entrepreneurs are emerging towards the crypto exchange solution business. There are many popular Cryptocurrency exchanges like Binance, LocalBitcoins, Coinbase, Paxful, Remitano, Wazirx, Poloniex etc, to buy and sell cryptocurrencies.

Binance exchange is the second largest decentralized crypto exchange/ trading platform. The Binance exchange platform offers multiple trading options and supports more than 45 cryptocurrencies like Bitcoin,Litecoin, USDT and more…

If you wish to create your own cryptocurrency exchange it is necessary to choose the best platform that is more suitable for your business.

To go head in the exchange script like Binance, obviously you need an expert advice to start your exchange/ trading business. You can easily launch your own platform in no time with an advanced Binance clone script.

**

Binance Clone Script **

Binance Clone Script means a complete and well developed ready-made Website Clone Script with highly customizable and cutting-edge technology stacks.

**Prominent Features in Binance Clone Script **

Buy/ Sell History
Live Trading Charts
Basic and Advanced Trading Interface For Traders
Advanced UI/UX Interface
Trusted Wallet Integration
Signup and Login Using The Mail Id
Admin Panel
Better Navigation Dashboard
Anti Phishing Code
Google Authentication
SMS Verification
Open Order Explicit History

Coinjoker is a Leading Cryptocurrency Exchange Clone Script provider that offers exclusive and adaptable ready-made Binance Clone Script at an affordable price with the above listing features and functionalities.

Get the best Crypto Exchange Platform scripts to launch your own exchange within 7 days!!

**Get a Detailed Insights about Binance Clone Script **>> https://www.cryptoexchangescript.com/contact-us

For queries feel free to contact our team experts,

Whatsapp ->> +91 9791703519

Skype->> live:support_60864

Telegram->> https://t.me/Coin_Joker

#binance-clone-script #binance-clone #binance-exchange-clone #binance-website-clone #binance-dex-clone #binance--clone-app

Techno Loader

Techno Loader

1626858226

Ethereum to Binance Bridge Development | ETH BSC Bridge

Since its advent, Binance has been known for its interoperability among a complex network of blockchains. Also, this network allows you to keep a count of crypto assets that are diverse in their form. Not only it allows you to convert Ethereum to Binance, but it also paves way for many other possibilities. With a Binance Bridge Solution, it is possible for you to deliver high potential to every transaction.

Looking for a Binance Bridge Solution? Call /Whatsapp 📞 +91 7014607737 | Telegram : @vipinshar 📱

Binance Bridge Development

What makes Binance bridge so significant in the crypto domain?

The ability to convert the tokens of one protocol into another is itself very fecund. And then, it allows you to include so many assets that make yield farming along with so many other tokens. Also, it allows you to have ample exposure to wallets that do a great job of bringing stability in this field. Besides all that, it creates new chances for investors as well as entrepreneurs to make lots of money.

While maintaining a productive crypto space, it also does the job of stimulating the Ethereum-based blockchain. And it when it comes to conversion, the technology gives you more an easy framework to deliver easy results. The overall likeliness of this network helps you shape up the mechanism of wallets too. It solves many existing problems and tackles issues that have been a very refined source of getting gas.

By aligning Binance smart chain and Ethereum in one network. It helps in the extension of the perforated selection of tokens. While doing that, you give a more procreative base of the ecosystem and deliver very amazing results. The bringing of so many token protocols in one place works positively for most crypto users. It also gives you numerous benefits that remain in the blockchain and get better with time.

A Cross-Chain Token Development Platform

Using this token development, platform it is possible for every token user to use the Binance network to the fullest. Also, it helps you make the most of standards like ERC20 and TRC20 for delivering the best results. The Tron network includes so much and it helps in delivering great results as well. Even with similar standards, it gives you optimized platforms that can tackle the requests of several users.

When you are engaged with a popular network, it is possible for you to have a profligate source of creation. It could sound like going a bit off the rails but in the long run, it generates many benefits. Even with a sound structure on Binance, it is possible to keep the parallel blockchain totally productive. The chains work in the most productive manner and give you outcomes that make native wallets work.

It could be very helpful in curtailing the time and also in giving great outcomes in engaging with conversations. At the time of executing the chain, it is important that you have a deliberate network of tokens. The charges get reduced when conversion gets optimized and it also helps in procuring the information from the source. The helpful disposition of Binance allows you to register multiple users very easily.

Developing Binance Bridge For Small Businesses

You get some abilities with a Binance account and they get even better with the tokens. From the storage to trade, everything gets doubled and you get a perfect base for managing coins. Furthermore, the withdrawals are easier and you save plenty of costs as well as effort in the whole process. An entire class of assets gets sorted and you get amazing results that secure the benefits of investors.

There are so many things that you can do with this platform and Binance is just one of them. When the conversion of tokens gets sorted, you get help from compatible wallets as well as smart contracts. At the time of sorting the features, it becomes very important to have a window for addressing the issues. The wrapped up tokens get aligned with chains and you have a more productive basis.

The development of such a platform takes a lot of time and this gives you a perpetual basis of income as well. While checking out the large sums of tokens, it is also very important for you to have a direct process. Without committing to a vast sum, you can get the whole process streamlined and organized. Also, you can create a pool of resources that generate liquidity for a great amount of time.

Conclusion

Technoloader helps you make the most of Binance bridge solutions at a very low cost. We have experts who have mastered this technology and can shape it as per your needs. With us, you are able to get the most appropriate solution that takes your business to the zenith of its vertical.

Want to use Binance Bridge Solution for your business? Discuss your project now!

Are you Looking to Develop Decentralized Meme Tokens Development Services ? Call /Whatsapp 📞 +91 7014607737 | Telegram : @vipinshar📱

#binance bridge solution #erc to bsc #binance #binance smart chain #token development

Josefa  Corwin

Josefa Corwin

1659852060

A Template Language That Completely Separates Structure and Logic/Ruby

Curly

Curly is a template language that completely separates structure and logic. Instead of interspersing your HTML with snippets of Ruby, all logic is moved to a presenter class.

Installing

Installing Curly is as simple as running gem install curly-templates. If you're using Bundler to manage your dependencies, add this to your Gemfile

gem 'curly-templates'

Curly can also install an application layout file, replacing the .erb file commonly created by Rails. If you wish to use this, run the curly:install generator.

$ rails generate curly:install

How to use Curly

In order to use Curly for a view or partial, use the suffix .curly instead of .erb, e.g. app/views/posts/_comment.html.curly. Curly will look for a corresponding presenter class named Posts::CommentPresenter. By convention, these are placed in app/presenters/, so in this case the presenter would reside in app/presenters/posts/comment_presenter.rb. Note that presenters for partials are not prepended with an underscore.

Add some HTML to the partial template along with some Curly components:

<!-- app/views/posts/_comment.html.curly -->
<div class="comment">
  <p>
    {{author_link}} posted {{time_ago}} ago.
  </p>

  {{body}}

  {{#author?}}
    <p>{{deletion_link}}</p>
  {{/author?}}
</div>

The presenter will be responsible for providing the data for the components. Add the necessary Ruby code to the presenter:

# app/presenters/posts/comment_presenter.rb
class Posts::CommentPresenter < Curly::Presenter
  presents :comment

  def body
    SafeMarkdown.render(@comment.body)
  end

  def author_link
    link_to @comment.author.name, @comment.author, rel: "author"
  end

  def deletion_link
    link_to "Delete", @comment, method: :delete
  end

  def time_ago
    time_ago_in_words(@comment.created_at)
  end

  def author?
    @comment.author == current_user
  end
end

The partial can now be rendered like any other, e.g. by calling

render 'comment', comment: comment
render comment
render collection: post.comments

Curly components are surrounded by curly brackets, e.g. {{hello}}. They always map to a public method on the presenter class, in this case #hello. Methods ending in a question mark can be used for conditional blocks, e.g. {{#admin?}} ... {{/admin?}}.

Identifiers

Curly components can specify an identifier using the so-called dot notation: {{x.y.z}}. This can be very useful if the data you're accessing is hierarchical in nature. One common example is I18n:

<h1>{{i18n.homepage.header}}</h1>
# In the presenter, the identifier is passed as an argument to the method. The
# argument will always be a String.
def i18n(key)
  translate(key)
end

The identifier is separated from the component name with a dot. If the presenter method has a default value for the argument, the identifier is optional – otherwise it's mandatory.

Attributes

In addition to an identifier, Curly components can be annotated with attributes. These are key-value pairs that affect how a component is rendered.

The syntax is reminiscent of HTML:

<div>{{sidebar rows=3 width=200px title="I'm the sidebar!"}}</div>

The presenter method that implements the component must have a matching keyword argument:

def sidebar(rows: "1", width: "100px", title:); end

All argument values will be strings. A compilation error will be raised if

  • an attribute is used in a component without a matching keyword argument being present in the method definition; or
  • a required keyword argument in the method definition is not set as an attribute in the component.

You can define default values using Ruby's own syntax. Additionally, if the presenter method accepts arbitrary keyword arguments using the **doublesplat syntax then all attributes will be valid for the component, e.g.

def greetings(**names)
  names.map {|name, greeting| "#{name}: #{greeting}!" }.join("\n")
end
{{greetings alice=hello bob=hi}}
<!-- The above would be rendered as: -->
alice: hello!
bob: hi!

Note that since keyword arguments in Ruby are represented as Symbol objects, which are not garbage collected in Ruby versions less than 2.2, accepting arbitrary attributes represents a security vulnerability if your application allows untrusted Curly templates to be rendered. Only use this feature with trusted templates if you're not on Ruby 2.2 yet.

Conditional blocks

If there is some content you only want rendered under specific circumstances, you can use conditional blocks. The {{#admin?}}...{{/admin?}} syntax will only render the content of the block if the admin? method on the presenter returns true, while the {{^admin?}}...{{/admin?}} syntax will only render the content if it returns false.

Both forms can have an identifier: {{#locale.en?}}...{{/locale.en?}} will only render the block if the locale? method on the presenter returns true given the argument "en". Here's how to implement that method in the presenter:

class SomePresenter < Curly::Presenter
  # Allows rendering content only if the locale matches a specified identifier.
  def locale?(identifier)
    current_locale == identifier
  end
end

Furthermore, attributes can be set on the block. These only need to be specified when opening the block, not when closing it:

{{#square? width=3 height=3}}
  <p>It's square!</p>
{{/square?}}

Attributes work the same way as they do for normal components.

Collection blocks

Sometimes you want to render one or more items within the current template, and splitting out a separate template and rendering that in the presenter is too much overhead. You can instead define the template that should be used to render the items inline in the current template using the collection block syntax.

Collection blocks are opened using an asterisk:

{{*comments}}
  <li>{{body}} ({{author_name}})</li>
{{/comments}}

The presenter will need to expose the method #comments, which should return a collection of objects:

class Posts::ShowPresenter < Curly::Presenter
  presents :post

  def comments
    @post.comments
  end
end

The template within the collection block will be used to render each item, and it will be backed by a presenter named after the component – in this case, comments. The name will be singularized and Curly will try to find the presenter class in the following order:

  • Posts::ShowPresenter::CommentPresenter
  • Posts::CommentPresenter
  • CommentPresenter

This allows you some flexibility with regards to how you want to organize these nested templates and presenters.

Note that the nested template will only have access to the methods on the nested presenter, but all variables passed to the "parent" presenter will be forwarded to the nested presenter. In addition, the current item in the collection will be passed, as well as that item's index in the collection:

class Posts::CommentPresenter < Curly::Presenter
  presents :post, :comment, :comment_counter

  def number
    # `comment_counter` is automatically set to the item's index in the collection,
    # starting with 1.
    @comment_counter
  end

  def body
    @comment.body
  end

  def author_name
    @comment.author.name
  end
end

Collection blocks are an alternative to splitting out a separate template and rendering that from the presenter – which solution is best depends on your use case.

Context blocks

While collection blocks allow you to define the template that should be used to render items in a collection right within the parent template, context blocks allow you to define the template for an arbitrary context. This is very powerful, and can be used to define widget-style components and helpers, and provide an easy way to work with structured data. Let's say you have a comment form on your page, and you'd rather keep the template inline. A simple template could look like:

<!-- post.html.curly -->
<h1>{{title}}</h1>
{{body}}

{{@comment_form}}
  <b>Name: </b> {{name_field}}<br>
  <b>E-mail: </b> {{email_field}}<br>
  {{comment_field}}

  {{submit_button}}
{{/comment_form}}

Note that an @ character is used to denote a context block. Like with collection blocks, a separate presenter class is used within the block, and a simple convention is used to find it. The name of the context component (in this case, comment_form) will be camel cased, and the current presenter's namespace will be searched:

class PostPresenter < Curly::Presenter
  presents :post
  def title; @post.title; end
  def body; markdown(@post.body); end

  # A context block method *must* take a block argument. The return value
  # of the method will be used when rendering. Calling the block argument will
  # render the nested template. If you pass a value when calling the block
  # argument it will be passed to the presenter.
  def comment_form(&block)
    form_for(Comment.new, &block)
  end

  # The presenter name is automatically deduced.
  class CommentFormPresenter < Curly::Presenter
    # The value passed to the block argument will be passed in a parameter named
    # after the component.
    presents :comment_form

    # Any parameters passed to the parent presenter will be forwarded to this
    # presenter as well.
    presents :post

    def name_field
      @comment_form.text_field :name
    end

    # ...
  end
end

Context blocks were designed to work well with Rails' helper methods such as form_for and content_tag, but you can also work directly with the block. For instance, if you want to directly control the value that is passed to the nested presenter, you can call the call method on the block yourself:

def author(&block)
  content_tag :div, class: "author" do
    # The return value of `call` will be the result of rendering the nested template
    # with the argument. You can post-process the string if you want.
    block.call(@post.author)
  end
end

Context shorthand syntax

If you find yourself opening a context block just in order to use a single component, e.g. {{@author}}{{name}}{{/author}}, you can use the shorthand syntax instead: {{author:name}}. This works for all component types, e.g.

{{#author:admin?}}
  <p>The author is an admin!</p>
{{/author:admin?}}

The syntax works for nested contexts as well, e.g. {{comment:author:name}}. Any identifier and attributes are passed to the target component, which in this example would be {{name}}.

Setting up state

Although most code in Curly presenters should be free of side effects, sometimes side effects are required. One common example is defining content for a content_for block.

If a Curly presenter class defines a setup! method, it will be called before the view is rendered:

class PostPresenter < Curly::Presenter
  presents :post

  def setup!
    content_for :title, post.title

    content_for :sidebar do
      render 'post_sidebar', post: post
    end
  end
end

Escaping Curly syntax

In order to have {{ appear verbatim in the rendered HTML, use the triple Curly escape syntax:

This is {{{escaped}}.

You don't need to escape the closing }}.

Comments

If you want to add comments to your Curly templates that are not visible in the rendered HTML, use the following syntax:

{{! This is some interesting stuff }}

Presenters

Presenters are classes that inherit from Curly::Presenter – they're usually placed in app/presenters/, but you can put them anywhere you'd like. The name of the presenter classes match the virtual path of the view they're part of, so if your controller is rendering posts/show, the Posts::ShowPresenter class will be used. Note that Curly is only used to render a view if a template can be found – in this case, at app/views/posts/show.html.curly.

Presenters can declare a list of accepted variables using the presents method:

class Posts::ShowPresenter < Curly::Presenter
  presents :post
end

A variable can have a default value:

class Posts::ShowPresenter < Curly::Presenter
  presents :post
  presents :comment, default: nil
end

Any public method defined on the presenter is made available to the template as a component:

class Posts::ShowPresenter < Curly::Presenter
  presents :post

  def title
    @post.title
  end

  def author_link
    # You can call any Rails helper from within a presenter instance:
    link_to author.name, profile_path(author), rel: "author"
  end

  private

  # Private methods are not available to the template, so they're safe to
  # use.
  def author
    @post.author
  end
end

Presenter methods can even take an argument. Say your Curly template has the content {{t.welcome_message}}, where welcome_message is an I18n key. The following presenter method would make the lookup work:

def t(key)
  translate(key)
end

That way, simple ``functions'' can be added to the Curly language. Make sure these do not have any side effects, though, as an important part of Curly is the idempotence of the templates.

Layouts and content blocks

Both layouts and content blocks (see content_for) use yield to signal that content can be inserted. Curly works just like ERB, so calling yield with no arguments will make the view usable as a layout, while passing a Symbol will make it try to read a content block with the given name:

# Given you have the following Curly template in
# app/views/layouts/application.html.curly
#
#   <html>
#     <head>
#       <title>{{title}}</title>
#     </head>
#     <body>
#       <div id="sidebar">{{sidebar}}</div>
#       {{body}}
#     </body>
#   </html>
#
class ApplicationLayout < Curly::Presenter
  def title
    "You can use methods just like in any other presenter!"
  end

  def sidebar
    # A view can call `content_for(:sidebar) { "some HTML here" }`
    yield :sidebar
  end

  def body
    # The view will be rendered and inserted here:
    yield
  end
end

Rails helper methods

In order to make a Rails helper method available as a component in your template, use the exposes_helper method:

class Layouts::ApplicationPresenter < Curly::Presenter
  # The components {{sign_in_path}} and {{root_path}} are made available.
  exposes_helper :sign_in_path, :root_path
end

Testing

Presenters can be tested directly, but sometimes it makes sense to integrate with Rails on some levels. Currently, only RSpec is directly supported, but you can easily instantiate a presenter:

SomePresenter.new(context, assigns)

context is a view context, i.e. an object that responds to render, has all the helper methods you expect, etc. You can pass in a test double and see what you need to stub out. assigns is the hash containing the controller and local assigns. You need to pass in a key for each argument the presenter expects.

Testing with RSpec

In order to test presenters with RSpec, make sure you have rspec-rails in your Gemfile. Given the following presenter:

# app/presenters/posts/show_presenter.rb
class Posts::ShowPresenter < Curly::Presenter
  presents :post

  def body
    Markdown.render(@post.body)
  end
end

You can test the presenter methods like this:

# You can put this in your `spec_helper.rb`.
require 'curly/rspec'

# spec/presenters/posts/show_presenter_spec.rb
describe Posts::ShowPresenter, type: :presenter do
  describe "#body" do
    it "renders the post's body as Markdown" do
      assign(:post, double(:post, body: "**hello!**"))
      expect(presenter.body).to eq "<strong>hello!</strong>"
    end
  end
end

Note that your spec must be tagged with type: :presenter.

Examples

Here is a simple Curly template – it will be looked up by Rails automatically.

<!-- app/views/posts/show.html.curly -->
<h1>{{title}}<h1>
<p class="author">{{author}}</p>
<p>{{description}}</p>

{{comment_form}}

<div class="comments">
  {{comments}}
</div>

When rendering the template, a presenter is automatically instantiated with the variables assigned in the controller or the render call. The presenter declares the variables it expects with presents, which takes a list of variables names.

# app/presenters/posts/show_presenter.rb
class Posts::ShowPresenter < Curly::Presenter
  presents :post

  def title
    @post.title
  end

  def author
    link_to(@post.author.name, @post.author, rel: "author")
  end

  def description
    Markdown.new(@post.description).to_html.html_safe
  end

  def comments
    render 'comment', collection: @post.comments
  end

  def comment_form
    if @post.comments_allowed?
      render 'comment_form', post: @post
    else
      content_tag(:p, "Comments are disabled for this post")
    end
  end
end

Caching

Caching is handled at two levels in Curly – statically and dynamically. Static caching concerns changes to your code and templates introduced by deploys. If you do not wish to clear your entire cache every time you deploy, you need a way to indicate that some view, helper, or other piece of logic has changed.

Dynamic caching concerns changes that happen on the fly, usually made by your users in the running system. You wish to cache a view or a partial and have it expire whenever some data is updated – usually whenever a specific record is changed.

Dynamic Caching

Because of the way logic is contained in presenters, caching entire views or partials by the data they present becomes exceedingly straightforward. Simply define a #cache_key method that returns a non-nil object, and the return value will be used to cache the template.

Whereas in ERB you would include the cache call in the template itself:

<% cache([@post, signed_in?]) do %>
  ...
<% end %>

In Curly you would instead declare it in the presenter:

class Posts::ShowPresenter < Curly::Presenter
  presents :post

  def cache_key
    [@post, signed_in?]
  end
end

Likewise, you can add a #cache_duration method if you wish to automatically expire the fragment cache:

class Posts::ShowPresenter < Curly::Presenter
  ...

  def cache_duration
    30.minutes
  end
end

In order to set any cache option, define a #cache_options method that returns a Hash of options:

class Posts::ShowPresenter < Curly::Presenter
  ...

  def cache_options
    { compress: true, namespace: "my-app" }
  end
end

Static Caching

Static caching will only be enabled for presenters that define a non-nil #cache_key method (see Dynamic Caching.)

In order to make a deploy expire the cache for a specific view, set the version of the view to something new, usually by incrementing by one:

class Posts::ShowPresenter < Curly::Presenter
  version 3

  def cache_key
    # Some objects
  end
end

This will change the cache keys for all instances of that view, effectively expiring the old cache entries.

This works well for views, or for partials that are rendered in views that themselves are not cached. If the partial is nested within a view that is cached, however, the outer cache will not be expired. The solution is to register that the inner partial is a dependency of the outer one such that Curly can automatically deduce that the outer partial cache should be expired:

class Posts::ShowPresenter < Curly::Presenter
  version 3
  depends_on 'posts/comment'

  def cache_key
    # Some objects
  end
end

class Posts::CommentPresenter < Curly::Presenter
  version 4

  def cache_key
    # Some objects
  end
end

Now, if the version of Posts::CommentPresenter is bumped, the cache keys for both presenters would change. You can register any number of view paths with depends_on.

Curly integrates well with the caching mechanism in Rails 4 (or Cache Digests in Rails 3), so the dependencies defined with depends_on will be tracked by Rails. This will allow you to deploy changes to your templates and have the relevant caches automatically expire.

Thanks

Thanks to Zendesk for sponsoring the work on Curly.

Contributors

Build Status


Author: zendesk
Source code: https://github.com/zendesk/curly

#ruby   #ruby-on-rails 

Amara Sophi

Amara Sophi

1601440832

Flourish your Crypto Exchange Business with Whitelabel Binance Clone Script

Binance exchange having the largest and fastest crypto exchange by trade volume in world. The Binance Exchange platform gets a huge number of traders and exchangers every day.

If you’re planning to develop your own cryptocurrency exchange, Kick-start your crypto exchange business that can make you earn money with the help of the Binance Clone Script. With Binance Clone Script, one can easily start a crypto exchange website similar to Binance.

Coinjoker is the leading cryptocurrency exchange clone scripts development company, offers the best Binance Clone Script with many advanced features & you can easily customize the design based on your needs.

Have a look at these Binance clone script features below that would help you get started right away.

Special features integrated with Binance Clone Script

Below are the features of coinjoker’s Binance Clone Script,

Instant Buy and Sell features — The users can buy and sell cryptocurrencies instantly without any delay.

Two Factor Authentication – For a secure trading, two-factor authentication is for buyers & sellers to prevent unauthorized access.

Whitelabel Solutions — Based on your requirements, you can easily customize the features according to the current updates.

Integration of Multilanguage - You can get different types of traders from a different countries through this multilanguage support.

Multi-currency support - It supports multiple types of cryptocurrencies like Bitcoin, Ethereum, and so on.

Multiple Trading Orders — The traders can choose the price level of their trading from the options like Limit, Stop and Market.

Trading interfaces - Trading Interfaces like Basic and Advanced.

Low fee trading - Our binance clone script is built by considering trading fee in the binance exchange.

Secured Admin Panel — Customized and secure the admin dashboard to maintain all the trading fees independently.

Referral Options — The referral option plays a good role, to earn multiple users from the existing users, the referral option plays a good role.

Supports unlimited types of tokens

24 hours Live Trade Chart

binance info.png

Security Features integrated in Binance Clone Script

SMS Verification
Email Verification
Un-Hackable Trading Platform
Two-factor Authentication
(DDOS)Anti-Distributed Denial of Service

Get A Quote for Binance Clone Script: https://www.cryptoexchangescript.com/contact-us

Instant Contact,
Whatsapp ->> +91 9791703519
Skype->> live:support_60864
Telegram->> https://t.me/Coin_Joker

#binance clone #binance clone script #binance clone software #binance website clone #binance dex clone script