Stellar là gì

I. Tổng quan về stellar

Stellar là 1 dự án mạng mã mối cung cấp msinh sống, hướng tới việc giải quyết và xử lý các vụ việc về tiền tệ cùng thanh hao toán. Stellar cung ứng kỹ năng sản xuất, gửi cùng đàm phán các token màn trình diễn các các loại chi phí nhỏng dollars, pesos, bitcoin,... dưới dạng kinh nghiệm số. Nó được thiết kế với kim chỉ nam đưa toàn bộ hệ thống tài chính thế giới vào vào một mạng lưới độc nhất vô nhị.

Bạn đang xem: Stellar là gì

Stellar không được download do bất kỳ cá thể hay tổ chức như thế nào, mà lại ở trong về toàn thể xã hội. Hệ thống được chạy trên một mạng lưới msống, phi tập trung cùng cách xử trí hàng ngàn thanh toán hằng ngày. Giống như Bitcoin với Ethereum, Stellar phụ thuộc blockchain để giữ mang lại mạng được đồng nhất hóa, cơ mà lại đem lại thử dùng giống với sử dụng chi phí phương diện cho người dùng. Stellar nkhô nóng rộng, thấp rộng và tiết kiệm tích điện hơn những khối hệ thống dựa vào blockchain thường thì.

II. Stellar sử dụng để gia công gì?

Mạng lưới Stellar ra mắt vào năm 2015. Kể tự kia tới lúc này, nó sẽ cách xử lý hơn 450 triệu hoạt động được tiến hành vày hơn 4 triệu tài khoản cá thể. Các công ty lớn nhỏng IBM và Franklin Templeton hay các đơn vị nhỏ dại nlỗi các cửa hàng khởi nghiệp sẽ lựa chọn Stellar nhằm giao dịch chuyển tiền và tiếp cận những thị phần new.

Ngay từ lúc đầu, Stellar đã có rất nhiều Điểm sáng của khối hệ thống tiền năng lượng điện tử, tuy vậy stellar luôn hướng đến Việc nâng cao cầm do hủy hoại hay thay thế sửa chữa khối hệ thống tài chính hiện bao gồm. Trong khi mạng Bitcoin hình thành chỉ để thanh toán giao dịch Bitcoin thì Stellar là một trong những khối hệ thống phi tập trung tuyệt vời nhất để giao dịch thanh toán bất cứ các loại chi phí làm sao một bí quyết tách biệt với tác dụng.

*

Ví dụ : Quý khách hàng ước ao tạo ra một màn biểu diễn kỹ năng số của đồng US dollar bên trên Stellar cùng gọi nó là "dollar token". Sau đó các bạn sẽ bảo cùng với quả đât rằng, bất cứ lúc nào ai mang một dollar mang lại cho mình, các bạn sẽ chuyển chúng ta 1 "dollar token" và trở lại, lúc 1 fan với "dollar token" trở về thì bạn bắt buộc đảm bảo an toàn hoàn toàn có thể đưa lại đến chúng ta dollar. Khi kia chúng ta đang chế tạo ra quan hệ 1:1 giữa đồng tiền kinh nghiệm số của chúng ta với dollar . Vậy nên khi đều tín đồ duy trì đồng dollar token, chúng ta rất có thể áp dụng với những nhân kiệt như tiền truyền thống lịch sử và có thể quy thay đổi ra tiền lúc họ có nhu cầu. Tất nhiên kế bên dollar chúng ta cũng có thể sản xuất trình diễn kĩ thuật số mang đến bất cứ nhiều loại chi phí nào khác.

Điều này tương đối giống cùng với công việc mà các ngân hàng bự nhỏ dại trên toàn trái đất đang hoạt động hằng ngày. Tuy nhiên điểm khác hoàn toàn ở chỗ này nằm tại vị trí token có thể dùng để Bàn bạc với giao thương bên trên toàn quả đât cơ mà không nhất thiết phải qua giải quyết và xử lý cùng phê thông qua của bank. Chính nhờ vào điều này, Stellar network để cho chi phí tệ không tồn tại bất cứ biên thuỳ nào. Một tín đồ thao tác làm việc sinh hoạt Mỹ tốt châu Âu có thể gửi dollar token về nước ta bất kể bao giờ. Một đơn vị toàn quốc hoàn toàn có thể trả chi phí cho công nhân vẫn sống Lào qua Stellar network,...

Stellar còn có thể chấp nhận được người dùng gửi một một số loại chi phí và người nhấn sẽ nhận thấy một loại tiền khác. Về cơ phiên bản, chúng ta có thể gửi và thảo luận chi phí trong một automic transaction ( tức các token sẽ tiến hành auto điều đình theo tỉ giá bán hiện tại trên stellar network).

*

Giống nhỏng những mạng blockchain khác, Stellar cũng có native sầu crypto currency là lumen. Hệ thống vẫn yên cầu người tiêu dùng đề nghị có một lượng khôn xiết bé dại lumen để tạo thông tin tài khoản tương tự như gửi transaction ( 0.00001 lumen mỗi giao dịch). Ngoài yêu cầu bên trên thì Stellar không ưu tiên bất kể một số loại chi phí như thế nào.

III. Stellar vận động như vậy nào?

Ở mức tốt nhất, Stellar hoàn toàn có thể phát âm là một trong những khối hệ thống để theo dõi quyền tải. Giống như bài toán kế toán đã làm cho nhiều cố kỷ, nó áp dụng một sổ dòng để gia công điều này. Sự khác hoàn toàn là Stellar không tồn tại kế toán thù viên thực thụ. Ttuyệt vào kia, gồm một màng lưới các máy tính độc lập, từng máy tính đánh giá cùng thanh tra rà soát lại công việc của những máy tính không giống. Stellar là 1 hệ thống không có cơ quan TW, Có nghĩa là không có bất kì ai có thể dừng mạng hoặc bí mật kiểm soát và điều chỉnh những số theo ý thích của bản thân mình trong cả khi không có cơ sở trung ương, những sổ dòng được minh chứng cụ thể cùng cập nhật, cứ sau 5 giây.

Một thuật tân oán được hotline là Stellar Consensus Protocol (SCP), giữ những thứ đồng nhất. Có các phương pháp để dành được đồng thuận trên một hệ thống phi triệu tập, proof of work của Bitcoin là phương thức đầu tiên cùng vẫn chính là nổi tiếng tuyệt nhất. Tuy nhiên chính vì vấn đề là tín đồ đón đầu, proof of work còn tương đối nhiều sự việc để nâng cấp. SCP tìm mọi cách nhằm trsinh sống bắt buộc tốt hơn bằng phương pháp có thể thông số kỹ thuật, hệ thống chạy nkhô cứng hơn và tiết kiệm năng lượng. Tìm phát âm thêm về SCP trên đây

Đối với đa số chủ thông tin tài khoản, Stellar’s ledger tàng trữ nhì máy quan trọng: phần lớn gì chúng ta cài đặt (số dư thông tin tài khoản, nhỏng số tiền 100 peso tokens tốt hoặc 5000 5000 lumens) và hầu như gì người ta có nhu cầu làm cùng với hầu hết gì bọn họ cài (vận động, như giải pháp buôn bán 10 token trong 50 lumens, hoặc, gửi 100 peso token vào thông tin tài khoản tựa như điều đó.) Cứ đọng sau năm giây, toàn bộ số dư với toàn bộ các hành vi được giải quyết và xử lý và lan truyền tổng thể mạng.

Các máy tính chạy Stellar core, lưu trữ và chất vấn ledger được Gọi là các nodes. Vì vậy, khi bạn gửi mang đến ai đó euro token bên trên ứng dụng thực hiện Stellar, các nodes đang kiểm tra xem số dư chính xác đã có được ghi tốt chưa, với từng node bảo đảm phần nhiều node khác phần lớn thấy và đồng thuận cùng với thanh toán giao dịch. Mạng Stellar hiện nay được xác minh vì hàng nghìn nodes trên toàn cầu; những nodes với phương pháp chúng tiếp xúc là thông báo công khai với bất kỳ ai cũng rất có thể thiết lập ứng dụng Stellar và tyêu thích gia vào quá trình đồng thuận. Vấn đề này không giống cùng với cách buổi giao lưu của kế toán thù tại một bank, địa điểm một tập đoàn solo phương thơm quyết định rất nhiều gì xẩy ra.

Ngay trên lớp lõi này đựng API nhằm nhằm gây ra bên trên Stellar, cung ứng cho các developer kỹ năng sản xuất áp dụng Stellar nhưng mà không cần phải tìm hiểu thừa sâu về những thuật tân oán đồng thuận. Đọc thêm về Stellar SDK tại đây

III. Kiến trúc khối hệ thống Stellar

*
Sử dụng mạng Stellar, bạn có thể desgin ví cầm tay, giải pháp ngân hàng, thứ thông minh tự trả chi phí và ngẫu nhiên đồ vật gì khác bạn có nhu cầu tương quan mang đến tkhô nóng toán! Mặc cho dù Stellar là 1 trong khối hệ thống phân tán phức tạp, nhưng thao tác cùng với nó không còn tinh vi một chút nào.

API: Horizon

Hầu không còn những ứng dụng thúc đẩy cùng với mạng Stellar trải qua Horizon, máy chủ API RESTful. Horizon cung ứng cho mình một bí quyết đơn giản và dễ dàng để gửi giao dịch, soát sổ tài khoản cùng theo dõi những sự kiện. Bởi bởi nó chỉ nên HTTP, chúng ta có thể tiếp xúc cùng với Horizon bởi trình chu đáo website, những lý lẽ cái lệnh đơn giản và dễ dàng như cURL hoặc Stellar SDK cho ngôn từ thiết kế yêu thích của bạn. Cách dễ nhất để setup Horizon là áp dụng stellar / quickstart docker image.

Stellar.org gia hạn các SDK dựa trên JavaScript, Java với Go nhằm tiếp xúc cùng với Horizon. Trong khi còn có SDK vì chưng xã hội gia hạn mang lại Ruby, Pythuôn với C #.

Stellar Core

Mọi sever Horizon liên kết với Stellar bộ vi xử lý Core, xương sinh sống của mạng Stellar. Phần mềm Stellar Vi xử lý Core tiến hành quá trình xác thực trạng thái của hầu hết giao dịch thanh toán thông qua Stellar Consensus Protocol (SCP).

Xem thêm: Chịu Nước 3Atm Là Gì ? Đồng Hồ 3Atm Có Tắm Được Không? Người Sử Dụng Cần Chú Ý Gì Khi Sử Dụng

Mạng lưới Stellar là một trong những tập hòa hợp các Stellar Cores trên toàn trái đất, từng đội được gia hạn vì những người dân và tổ chức triển khai khác biệt. Tất cả những nodes thuộc đồng thuận về những thanh toán giao dịch. Mỗi giao dịch thanh toán bên trên mạng bao gồm ngân sách nhỏ: 100 stroops (0,00001 XLM). Phí này giúp ngăn ngừa các tác nhân xấu gửi spam mạng.

IV. Demo

Trước Lúc bắt tay vào code , bọn họ cùng nhìn qua Stellar Laboratory - có thể chấp nhận được hệ trọng cùng với mạng stellar thông qua UI. Stellar Laboratory cho phép bạn tạo thành tài khoản, dìm tiền trên Stellar testnet, kiến thiết thanh toán giao dịch, chạy những hành vi bất kể và soát sổ đánh giá tự Horizon trải qua Endpoint Explorer.

1. Tạo tài khoản Stellar

Ok. Cũng như câu hỏi các bạn đang tiến hành thông qua Laboratory, Việc trước tiên bắt buộc làm cho nhằm liên tưởng cùng với Stellar network chính là sản xuất một thông tin tài khoản. Các thông tin tài khoản giữ toàn bộ chi phí của chúng ta phía bên trong Stellar và cho phép các bạn gửi cùng dấn tkhô giòn tân oán, trên thực tiễn, số đông đầy đủ máy vào Stellar gần như theo một bí quyết như thế nào kia gắn sát với 1 tài khoản.

Mỗi tài khoản Stellar đều có public key cùng phân tử private seed. Stellar thực hiện public key cryptography để bảo đảm an toàn đầy đủ thanh toán phần đa an toàn. Những fan không giống thực hiện public key để xác định tài khoản của bạn cùng xác minc rằng chúng ta vẫn ủy quyền thanh toán. Trong lúc ấy, private seed, là công bố riêng bốn minh chứng chúng ta sở hữu tài khoản của chính bản thân mình. quý khách không bao giờ cần share private seed cùng với bất kể ai vày fan đó có thể gắng quyền thiết lập tài khoản của bạn.

// create a completely new & quality pair of keys// see more about KeyPair objects: https://stellar.github.io/js-stellar-sdk/Keypair.htmlconst pair = StellarSdk.Keypair.random();pair.secret();// SAV76USXIJOBMEQXPANUOQM6F5LIOTLPDIDVRJBFFE2MDJXG24TAPUU7pair.publicKey();// GCFXHS4GXL6BVUCXBWXGTITROWLVYXQKQLF4YH5O5JT3YZXCYPAFBJZBBây giờ sẽ có seed cùng public key, bạn đã sở hữu thể sản xuất stellar trương mục. Để ngnạp năng lượng ngừa câu hỏi tạo nên một loạt những tài khoản ko cần thiết, từng account nên bao gồm tối thiểu 1 lumens. Tuy nhiên trên Stellar testnet bạn có thể thử khám phá Friendbot nhằm tạo thành thông tin tài khoản.

// The SDK does not have tools for creating test accounts, so you"ll have sầu to// make your own HTTPhường request.// if you"re trying this on Node, install the `node-fetch` library and// unphản hồi the next line:// const fetch = require("node-fetch");(async function main() try const response = await fetch( `https://friendbot.stellar.org?addr=$encodeURIComponent(pair.publicKey())` ); const responseJSON = await response.json(); console.log("SUCCESS! You have sầu a new account :) ", responseJSON); catch (e) console.error("ERROR!", e); )()Ok. Giờ chỉ Việc đánh giá thông báo thông tin tài khoản cơ mà chúng ta vừa nhận được thôi. Mỗi tài khoản rất có thể chứa nhiều loại token khác biệt.

const hệ thống = new StellarSdk.Server("https://horizon-testnet.stellar.org");// the JS SDK uses promises for most actions, such as retrieving an accountconst account = await VPS.loadAccount(pair.publicKey());console.log("Balances for account: " + pair.publicKey());trương mục.balances.forEach(function(balance) console.log("Type:", balance.asset_type, ", Balance:", balance.balance););

2. Gửi/ thừa nhận tiền

Gửi tiền

Các hành vi nhưng mà làm cho sự thay đổi trên Stellar network như gửi thanh khô tân oán, biến hóa tài khoản của người tiêu dùng hoặc triển khai các đề nghị nhằm thanh toán các loại chi phí tệ không giống nhau được Call là operation.

Để thực thụ tiến hành một operation, chúng ta tạo nên một transaction, kia chỉ là một trong những tập những operation cố nhiên một vài thông báo bổ sung, nhỏng tài khoản nào đã thực hiện thanh toán giao dịch và chữ cam kết điện tử nhằm xác minh rằng giao dịch thanh toán là chính xác. Nếu một operation bất kì bị fail thì cục bộ trasaction cũng trở thành fail.

Ví dụ: quý khách có 100 lumen và các bạn triển khai 2 hành động gửi 60 lumen. Nếu 2 hành vi được tiến hành ở cả hai transaction khác biệt thì bạn sẽ thực hiện thành công xuất sắc 1 thanh toán giao dịch cùng còn sót lại 40 lumen. Tuy nhiên trường hợp 2 hành vi cùng được gửi trong 1 transaction thì thanh toán giao dịch sẽ bị fail và chúng ta sót lại 100 lumen trong thông tin tài khoản.

Stellar lưu trữ và truyền đạt tài liệu giao dịch nghỉ ngơi format nhị phân hotline là XDR. May mắn vậy, SDK Stellar hỗ trợ các qui định cách xử trí tất cả hồ hết lắp thêm đó. Dưới đây là bí quyết chúng ta có thể gửi 10 lumens mang đến một thông tin tài khoản khác:

var StellarSdk = require("stellar-sdk");var server = new StellarSdk.Server("https://horizon-testnet.stellar.org");var sourceKeys = StellarSdk.Keypair .fromSecret("SCZANGBA5YHTNYVVV4C3U252E2B6P6F5T3U6MM63WBSBZATAQI3EBTQ4");var destinationId = "GA2C5RFPE6GCKMY3US5PAB6UZLKIGSPIUKSLRB6Q723BM2OARMDUYEJ5";// Transaction will hold a built transaction we can resubmit if the result is unknown.var transaction;// First, check to lớn make sure that the destination account exists.// You could skip this, but if the trương mục does not exist, you will be charged// the transaction fee when the transaction fails.hệ thống.loadAccount(destinationId) // If the trương mục is not found, surface a nicer error message for logging. .catch(function (error) if (error instanceof StellarSdk.NotFoundError) throw new Error("The destination trương mục does not exist!"); else return error ) // If there was no error, load up-to-date information on your account. .then(function() return VPS.loadAccount(sourceKeys.publicKey()); ) .then(function(sourceAccount) // Start building the transaction. transaction = new StellarSdk.TransactionBuilder(sourceAccount, fee: StellarSdk.BASE_FEE, networkPassphrase: StellarSdk.Networks.TESTNET ) .addOperation(StellarSdk.Operation.payment( destination: destinationId, // Because Stellar allows transaction in many currencies, you must // specify the asset type. The special "native" asmix represents Lumens. asset: StellarSdk.Asset.native(), amount: "10" )) // A memo allows you to add your own metadata to lớn a transaction. It"s // optional & does not affect how Stellar treats the transaction. .addMemo(StellarSdk.Memo.text("Test Transaction")) // Wait a maximum of three minutes for the transaction .setTimeout(180) .build(); // Sign the transaction to lớn prove sầu you are actually the person sending it. transaction.sign(sourceKeys); // And finally, sover it off to lớn Stellar! return VPS.submitTransaction(transaction); ) .then(function(result) console.log("Success! Results:", result); ) .catch(function(error) console.error("Something went wrong!", error); // If the result is unknown (no response body toàn thân, timeout etc.) we simply resubmit // already built transaction: // VPS.submitTransaction(transaction); );Cùng đối chiếu đoạn code trên:

Thứ nhất cân nặng chứng thực rằng ID tài khoản bạn đang gửi đích thực trường thọ bằng phương pháp download tài liệu thông tin tài khoản được link từ mạng Stellar. Mọi sản phẩm công nghệ đang thực thụ ổn nếu như khách hàng bỏ qua bước này, tuy nhiên triển khai nó mang đến cho bạn cơ hội để tách triển khai một thanh toán giao dịch nhưng mà chúng ta biết đang thua cuộc. Quý Khách cũng có thể sử dụng cuộc gọi này nhằm thực hiện ngẫu nhiên xác minch nào không giống cơ mà chúng ta có thể ao ước triển khai trên tài khoản đích:

server.loadAccount(destinationId) .then(function(account) /* validate the account */ ).then(function() return server.loadAccount(sourceKeys.publicKey());)Bây giờ đồng hồ họ new đầu phát hành một giao dịch. Điều này đòi hỏi một đối tượng người sử dụng thông tin tài khoản, không chỉ ID tài khoản, chính vì nó sẽ tăng số trang bị từ của thông tin tài khoản.var transaction = new StellarSdk.TransactionBuilder(sourceAccount)Thêm operation vào tài khoản. Lưu ý rằng bạn phải hướng đẫn các loại gia sản nhưng mà ai đang gửi - Stellar native token là lumen, tuy nhiên chúng ta có thể gửi bất kỳ loại gia sản hoặc loại chi phí làm sao bạn muốn, trường đoản cú dollar mang đến bitcoin mang lại bất kỳ nhiều loại gia sản làm sao bạn tin tưởng..addOperation(StellarSdk.Operation.payment( destination: destinationId, asset: StellarSdk.Asmix.native(), amount: "10"))Lưu ý: Số lượng là chuỗi chứ đọng không hẳn dạng số.5. quý khách hàng cũng hoàn toàn có thể tùy ý tiếp tế các metadata thông qua memo tuy vậy stellar sẽ không còn sử dụng mang lại dữ liệu này/

.addMemo(StellarSdk.Memo.text("Test Transaction"))Bây giờ đồng hồ thanh toán giao dịch tất cả toàn bộ dữ liệu quan trọng, bạn đề xuất ký kết bằng phương pháp sử dụng private seed của chính mình. Vấn đề này chứng tỏ rằng dữ liệu thực sự tới từ chúng ta chđọng không hẳn ai kia mạo xưng.transaction.sign(sourceKeys);Cuối thuộc là trình lên Stellar network:hệ thống.submitTransaction(transaction);

Nhận tiền

quý khách hàng không cần phải làm những gì để hoàn toàn có thể nhấn chi phí bên trên stellar network. Nếu một tín đồ gửi tiền cho bạn thì số chi phí kia sẽ tiến hành tự động chuyển vào tài khoản.

Tuy nhiên, chúng ta vẫn cần biết lên tiếng của bạn gửi chi phí mang đến cho bạn.

var StellarSdk = require("stellar-sdk");var server = new StellarSdk.Server("https://horizon-testnet.stellar.org");var accountId = "GC2BKLYOOYPDEFJKLKY6FNNRQMGFLVHJKQRGNSSRRGSMPGF32LHCQVGF";// Create an API Gọi to lớn query payments involving the account.var payments = hệ thống.payments().forAccount(accountId);// If some payments have sầu already been handled, start the results from the// last seen payment. (See below in `handlePayment` where it gets saved.)var lastToken = loadLastPagingToken();if (lastToken) payments.cursor(lastToken);// `stream` will skết thúc each recorded payment, one by one, then keep the// connection open & continue to skết thúc you new payments as they occur.payments.stream( onmessage: function(payment) // Record the paging token so we can start from here next time. savePagingToken(payment.paging_token); // The payments stream includes both sent và received payments. We only // want khổng lồ process received payments here. if (payment.to lớn !== accountId) return; // In Stellar’s API, Lumens are referred to lớn as the “native” type. Other // asphối types have sầu more detailed information. var asset; if (payment.asset_type === "native") asphối = "lumens"; else asset = payment.asset_code + ":" + payment.asset_issuer; console.log(payment.amount + " " + asmix + " from " + payment.from); , onerror: function(error) console.error("Error in payment stream"); );function savePagingToken(token) // In most cases, you should save this to lớn a local database or file so that // you can load it next time you stream new payments.function loadLastPagingToken() // Get the last paging token from a local database or fileCó nhị phần chính của lịch trình này. Đầu tiên, bạn sản xuất một truy vấn cho những khoản tkhô cứng toán thù liên quan cho một tài khoản nhất mực.

Giống như hầu như những truy vấn vấn vào Stellar, vấn đề này rất có thể trả về một số trong những lượng mập các mục, vì thế API trả về những mã thông báo phân trang, nhưng bạn cũng có thể áp dụng sau này nhằm bắt đầu tầm nã vấn của chính bản thân mình từ và một điểm nhưng trước kia bạn đang vứt đi. Trong ví dụ trên, các chức năng giữ và cài đặt mã thông tin phân trang được để trống, nhưng mà trong một ứng dụng thực, bạn muốn lưu mã thông báo phân trang vào trong 1 tệp hoặc đại lý dữ liệu để chúng ta cũng có thể chọn địa điểm chúng ta bong khỏi trong ngôi trường thích hợp lịch trình sự nạm hoặc người tiêu dùng đóng nó.

var payments = hệ thống.payments().forAccount(accountId);var lastToken = loadLastPagingToken();if (lastToken) payments.cursor(lastToken);Thđọng nhì, công dụng của truy vấn vấn được streamed. Đây là giải pháp đơn giản nhất để thấy thanh khô toán thù hoặc những thanh toán giao dịch không giống. Mỗi khoản tkhô hanh tân oán bây chừ được gửi qua stream, từng mẫu một. lúc tất cả những khoản tkhô nóng toán thù hiện giờ đã có gửi, luồng vẫn msinh hoạt với những khoản thanh toán thù new được gửi ngay khi bọn chúng được triển khai.

Xem thêm: Nghĩa Của Từ Subbase Là Gì ? Đặc Tính Và Ứng Dụng Của Đá Bây Loại A, Loại B

payments.stream( onmessage: function(payment) // handle a payment );Bạn cũng có thể yêu cầu thanh toán theo đội hoặc trang. Khi bạn sẽ cách xử lý từng trang thanh toán, các bạn sẽ nên hưởng thụ trang tiếp theo cho tới lúc không thể tkhô nóng toán thù làm sao.

payments.call().then(function handlePage(paymentsPage) paymentsPage.records.forEach(function(payment) // handle a payment ); return paymentsPage.next().then(handlePage););V. SourceCác vận dụng của stellar: https://galactictalk.org/t/winners


Chuyên mục: Định Nghĩa