Bản Tin Agorise: C-IPFS, Stealth và giao dịch không nhìn thấy, hệ thống POS, ví trên điện thoại di động, graphenej,...
Chào mừng bạn đến với bản tin Agorise!
Sự vô chính phủ theo nghĩa đen nghĩa là "không có người cai trị". Nó không có nghĩa là “không có luật lệ” hoặc là sự hỗn mang. Những người hoạt động vì tự do không bạo lực làm việc để dẫn đến một xã hội tương tác giữa mọi người một cách tự nguyện bằng nguyên tắc không xâm phạm (Non-Aggression Principle), nguồn gốc ôn hòa và nền kinh tế phản lại (counter-economics). Chủ nghĩa xã hội tự do (Agorism) đi theo sự chọn lựa một thị trường tự do, đáp trả lại chính phủ và biến việc sử dụng sức mạnh trở nên lỗi thời.
Tuần này đã được tập trungcao độ, một vài nhóm lập trình viên của chúng tôi đang hoàn thiện các dự án và đang hợp nhất mã nguồn của họ với mã nguồn chủ cho 7 (vâng, bảy) sản phẩm khác nhau được tung ra trong năm nay và năm tới. C-IPFS cho Stealth, ứng dụng và phi tập trung website, graphenej cho ví trên điện thoại di động và hệ thống POS, và một mạng chạy thử mới cho việc kiểm tra chuyên sâu tất cả các sản phẩm này nằm trong những sản phẩm khác.
C-IPFS
Những định danh Node,Protobuf và Yamux đã được thực hiện xong trong tuần này. Rất nhiều thử nghiệm, điểm yếu và các bản vá lỗi được thực hiện. Chế độ API client đã trả về một phản hồi trống rỗng từ máy chủ, đã tìm ra nguyên nhân và sửa nó, sau đó chúng tôi đang thay đổi phương thức giao tiếp giống như Go-IPFS đã sử dụng và sau đó chúng tôi nhận ra rằng điều này đã loại bỏ một giới hạn lớn sự giao tiếp giữa máy khách và máy chủ sử dụng API với số lượng lớn các dữ liệu nhị phân, nhưng GO vẫn đang đóng kết nối dạng timeout. Đã sửa.
https://github.com/Agorise/c-libp2p/commit/7564a4b089f9d205beafddf550d7a51bf519658a
https://github.com/Agorise/c-ipfs/commit/4e556221bd8fe56a9a0b8f69e0b7d9ed41082170
https://github.com/Agorise/c-ipfs/commit/ae6fe6dc29a2f971d1c208d63afac9a5ad2679ec
https://github.com/Agorise/c-libp2p/commit/a91e8407707b2fbeaf6bce40365708402f51d883
Đã có rất nhiều công việc được thực hiện trong tuần này về tính tương thích với GO, và chúng tôi đã có tiến triển tốt. Phiên bản C của chúng tôi bây giờ đang kết nối bằng cách sử dụng một cách tiếp cận dựa theo lớp, hoàn toàn mới, và giống như phiên bản GO. Thêm các giao thức bổ sung bây giờ dễ dàng hơn.
Dưới đây là các commit đến nhánh "yamux" của c-libp2p:
https://github.com/Agorise/c-libp2p/commit/746682ebef3e413e003c578522125fdc150094dc
https://github.com/Agorise/c-libp2p/commit/65194c06eee35034c140ad57794b7ca6acfb8c9a
https://github.com/Agorise/c-libp2p/commit/5e1cdac4cf2586d80ac9495cd50f4c53462b46bc
https://github.com/Agorise/c-libp2p/commit/9200e0f09c2206d8e0db7236f41a4e6e537c3910
Trong tuần tới, chúng tôi sẽ tiếp tục làm việc về tính tương thích của GO và giúp các nhóm lập trình viên khác của Agorise phát triển ứng dụng và tích hợp trang web. Giao thức Yamux sẽ được làm xong vào cuối tuần sau, và sau đó sẽ cần phải thực thi chỉ một vài giao thức khác để làm cho phiên bản GO hiện tại vui vẻ kết nối với một trong các node C của chúng tôi.
Hầu hết các ứng dụng và trang web của chúng tôi đang được phi tập trung hóa với C-IPFS, không chỉ Stealth, do đó việc xây dựng nền tảng này một cách đúng đắn sẽ cho phép tất cả các dự án ngoài kia (bên cạnh chúng ta) phi tập trung hoàn toàn. Không còn sự kiểm duyệt của chính phủ hay ISP!
Để theo dõi và kiểm tra mã của chúng tôi:
https://github.com/Agorise?tab=repositories
Giao dịch Stealth (vô hình) trên nền tảng Bitshares
Mục tiêu của chúng tôi: "unknown" sent n "unknown" to "unknown"
Do sự không đáng tin cậy của các mạng chạy thử bitshares.eu, chúng tôi đã đầu tư vào mạng riêng của chúng tôi tuần này. Tối nay hoặc ngày mai chúng tôi cũng nên chạy faucet cho nó, và sau đó có thể đưa ra địa chỉ URL để mọi người có thể truy cập vào đó và bắt đầu trải nghiệm với chúng tôi.
Giao diện người dùng cho giao dịch Blinded (không nhìn thấy) và giao dịch Stealth (vô hình) đã xong ở giai đoạn beta, NHƯNG, giao diện Bitshares của phiên bản gần đây (bạn sẽ thấy nó trên phiên bản ví web và phiên bản download ví khách (bản nhẹ) đã di chuyển loanh quanh một vài thứ, vì vậy chúng tôi mất thêm một vài ngày để điều chỉnh giao diện vào phút cuối. Nó trông thật tuyệt vời, vì vậy không có gì là to tát, những thay đổi này nhận được nhiều khen ngợi.
Một số giao dịch thử nghiệm của chúng tôi đang thực hiện ...
Tạo tài khoản Stealth:
Gửi từ tài khoản công khai sang tài khoản không nhìn thấy (Public to Blinded)
Xác nhận gửi từ tài khoản công khai sang không nhìn thấy
Công khai sang không nhìn thấy trong lịch sử chuyển khoản
Công khai sang không nhìn thấy ở blockchain
Những hình ảnh trên minh họa chuyển từ tài khoản công khai sang tài khoản không nhìn thấy (Public to Blinded), nó không thú vị như là từ tài khoản công khai --> tài khoản không nhìn thấy --> tài khoản không nhìn thấy --> tài khoản công khai. (nhưng ta sẽ thấy phần còn lại sớm. Nó hoạt động, chúng tôi chỉ cần tinh chỉnh việc tính toán phí sau trong hôm nay). Sẽ tải lên nhiều ảnh chụp màn hình hơn trên nhóm telegram của chúng tôi tuần này (https://t.me/Agorise), hy vọng rằng cũng có video một vòng (từ tài khoản công khai --> tài khoản không nhìn thấy --> tài khoản không nhìn thấy --> tài khoản công khai).
Đây là bằng chứng giao dịch đó trên nhánh chính
https://cryptofresh.com/b/21487444
Một khi chứng thực miền giá trị (Range Proofs) hoàn tất, chúng tôi sẽ hoàn thành bộ tính năng đầy đủ của Stealth, bằng cách sử dụng tài sản mật và ẩn tất cả các dữ liệu có thể có bằng công nghệ crypto hiện có. Chúng tôi cũng sẽ thiết kế một bản thuyết trình ngắn để chỉ ra cách thức hoạt động Stealth.
Một số công việc giao dịch Stealth và Blinded bổ sung đã xong trong tuần này:
- Hoàn thành việc bảo mật cơ sở dữ liệu (DB) và quan trọng nhất, sự đồng bộ hóa.
- Cơ sở dữ liệu Stealth, bao gồm cả khóa cá nhân, coin v.v cũng được KHÓA, hiện đang sử dụng mật khẩu bình thường + SHA-3 + AES (dễ dàng chuyển từ một mã hóa / mã băm sang loại khác trong trường hợp thay đổi.)
- Hoàn thành sao lưu LOCAL: Giờ đây, bạn có thể sao lưu toàn bộ ví Stealth hoặc một tài riêng lẻ khi bạn chọn.
- Lưu ý bổ sung: bạn có thể chuyển các tài khoản này từ bất kỳ ví tiền công khai nào sang một ví khác, vì vậy giả sử rằng bạn có nhiều ví Bitshares, bây giờ bạn có thể chuyển các tài khoản Stealth từ tài khoản này sang tài khoản khác. Bạn có thể chuyển một tài khoản sang tài khoản khác hoặc bạn có thể chuyển toàn bộ ví Stealth sang ví khác.
Điều này cũng thêm khả năng của bạn tạo một file mà bạn gửi cho ai đó thay vì thực sự chuyển khoản. Tuy nhiên, điều này không tin cậy khi mà cả hai sẽ có quyền truy cập vào ngân quỹ vì vậy nó chỉ có ích trong một số ít kịch bản.
- Chức năng sao lưu tài khoản riêng lẻ được thực hiện trong menu chuột phải của tài khoản Stealth. Stealth cung cấp cho bạn rất nhiều lựa chọn, chúng tôi cảm thấy tốt nhất là đưa các tính năng thành một nhóm trong một trình đơn ngữ cảnh chuột phải, điều này thực sự giúp giữ cho giao diện gọn gang, các công cụ mà bạn sẽ không sử dụng thường xuyên. Giao diện cực kì thân thiện, bạn có nhớ? ;)
- Màn hình hiển thị trực quan cho cả hai chức năng trong một tài khoản Stealth, hoặc một sao lưu toàn bộ ví Stealth.
- Sửa lỗi gây ra trùng lắp tài khoản, và lạ hoặc khá trùng hợp, một số tài khoản khác đôi khi cũng bị như vậy nếu bạn nhấn lên giao diện với những lệnh nhanh, về phía của cơ sở dữ liệu được chỉ mục (IndexedDB)
https://github.com/Agorise/bitshares-ui/commit/c50413f16d81590cd4d50115a85e56e863c7c881
Chứng thực miền giá trị (Range Proofs), gọi Remote Procedure Call (RPC) và cập nhật hàm API:
Đây là một commit “gắn kết” (liên kết dưới đây) giữa giao diện người dùng và lớp cơ sở dữ liệu và mã Stealth nằm bên dưới. Đặc biệt, commit này giải quyết "xử lý coin" trước và sau một giao dịch. Vì Blinded / Stealth sử dụng mô hình UTXO giống như Bitcoin chứ không phải mô hình tài khoản được sử dụng bởi các tài khoản Bitshares thông thường, một "sự cân bằng không nhìn thấy" thực sự là một tập hợp các "coin" đã được nhận (và được giao tiếp qua "biên nhận"). Khi một giao dịch không nhìn thấy xảy ra, một lựa chọn đủ coin nhận bao gồm tổng tiền (cộng với lệ phí) phải được tập hợp lại và trở thành giá trị đầu vào của giao dịch. Sau khi giao dịch, những đầu vào đó được tiêu thụ và các "đồng tiền" tương ứng trong số dư không nhìn thấy phải được đánh dấu là đã tiêu xài, giảm số dư còn lại. Nếu bất kỳ "kết quả đầu ra" nào từ giao dịch này trở lại với chính chúng, (ví dụ: coin "thay đổi" biểu thị sự vượt quá các đầu vào được tập trung, vượt quá số tiền gửi cộng phí gửi), thì những đầu ra đó phải được nhận biết, xử lý và thêm vào số dư không nhìn thấy. Commit này giải quyết các quy trình "xử lý coin".
Phần còn lại của tuần được dành cho các chứng thực miền giá trị: nghiên cứu / lần theo / phân tích mã C ++ trong ví dòng lệnh (CLI) cho việc commit miền giá trị và kế hoạch triển khai ngôn ngữ Javascript.
Chứng thực miền giá trị là cần thiết cho các giao dịch có nhiều kết quả đầu ra. Nói cách khác, nếu một đầu ra sẽ tạo ra "sự thay đổi", thì cần phải có một chứng thực miền giá trị để chứng minh rằng cả hai đầu ra đều có giá trị dương (mà không lộ giá trị đầu ra). Đây là một biện pháp ngăn ngừa gian lận mà mạng lưới sử dụng để đảm bảo rằng các coin giả mạo không được sản xuất và "che giấu" bằng cách cân bằng với đầu ra có giá trị âm.
Việc triển khai ngôn ngữ Javascript của chứng thực miền giá trị đang trong quá trình phát triển và chưa được kích hoạt trong mã lệnh. Trong thời gian này, các giao dịch dẫn đến sự thay đổi coin sẽ bị từ chối bởi mạng (chúng sẽ thất bại trong việc kiểm tra chứng thực miền giá trị). Tuy nhiên, các giao dịch mà lượng tiền được chọn sao cho không có sự thay đổi coin SẼ được chấp nhận bởi mạng. Bí quyết là để đảm bảo rằng số tiền giao dịch cộng với lệ phí (0.001 phí TEST cơ bản cộng với 5.0 phí test cho mỗi đầu vào) là chính xác bằng với tổng giá trị của "coin" được tập hợp để thực hiện giao dịch. Những thông báo nhật kí gửi đến bảng điều khiển Javascript chú thích quá trình chọn lựa tập coin và giá trị thay đổi để dễ dàng kiểm tra.
https://github.com/Agorise/bitshares-ui/commit/fd0f5095170d8d9011016aefbbd944cba662b9d5
Một vài người từ nhóm Telegram Agorise (https://t.me/Agorise) đang giúp chúng tôi viết BSIP cho Stealth để mã của chúng tôi có thể được hiểu, kiểm toán và cuối cùng hợp nhất với nhánh Bitshares chính. Nếu bạn muốn thấy quá trình của chúng tôi về BSIP Stealth, hãy ghé thăm kênh Agorise trên Flock:
https://bitshares.flock.com
Như thường lệ, hãy giúp kiểm tra mã của chúng tôi:
https://github.com/Agorise?tab=repositories
Hệ thống POS (Point Of Sale)
Tất cả công việc cho các hệ thống POS trong tuần này đã được thực hiện trong thư viện graphenej dưới đây ..
graphenej
Bạn muốn tạo một ứng dụng Android cho nền tảng Bitshares? Hãy thử thư viện của chúng tôi
Thư mục develop: https://github.com/Agorise/graphenej/tree/develop
Nhánh chính: https://github.com/Agorise/graphenej/
Sự cải tiến đầu tiên được thúc đẩy bởi thực tế là lớp PaymentHandler trong hệ thống POS cần có bản sao cập nhật của sổ đặt lệnh. Để thực hiện điều đó, chúng ta phải truy vấn node hoàn chỉnh và cập nhật một phiên bản hiện tại của sổ đặt lệnh giữa tài sản lõi (BTS) và người sử dụng (trong trường hợp này là điểm bán hàng) tài sản đầu ra mong muốn, thường là một Smartcoin như là bitUSD hoặc bitEUR.
Bây giờ, ứng dụng POS đã kết nối được với node hoàn chỉnh để nhận được tất cả các loại thông tin mạng, nhưng mỗi khi nó thực hiện điều đó, nó sử dụng một kết nối mới. Chỉ trên các trường hợp cụ thể, chẳng hạn như khi thông báo một giao dịch đã được chứng thực, cùng một kết nối được sử dụng để gửi và nhận một vài tin nhắn. Đây là một kiến trúc nghèo nàn, và chỉ được giới thiệu trong ví Smartcoins cũ (Android) và để tiết kiệm thời gian phát triển trong khi tránh sử dụng một môi giới thông báo được xây dựng kém mà ứng dụng ban đầu đã mắc phải.
Với mục đích thống nhất tất cả các kết nối đến bất kỳ ứng dụng nào sử dụng thư viện graphenej của chúng tôi, một lớp mới gọi là NodeConnection đã được giới thiệu đến sau một thời gian. Ý tưởng là lớp này sẽ nhận được một danh sách các URL node hoàn chỉnh, và với thông tin này duy trì kết nối ổn định với bất kỳ nút nào. Hãy nhớ khi chúng tôi phát minh ra lưu đồ "Nút-Nhảy (Node-Hopping )"? Dù sao đi nữa, trong trường hợp có lỗi xuất hiện, lớp này sẽ có thể thử lại để thiết lập một kết nối với nút tiếp theo trong danh sách. Tính năng này chỉ được triển khai một phần trong lớp này, và bây giờ đã hoàn thành cùng với một số kiểm tra ở đây.
Sau đó, một số báo cáo lỗi mới đã được gửi lên trên chức năng phi tuần tự ghi nhớ của thư viện graphenej. Nhưng trước khi vấn đề đó có thể được giải quyết trực tiếp, một số vấn đề cơ cấu với bộ phần mềm kiểm thử đã làm cho việc sử dụng chúng rất không không thực tế để giới thiệu. Vấn đề là các trường hợp thử nghiệm phụ thuộc vào một số biến môi trường để lấy các khóa riêng dùng để mã hóa / giải mã dữ liệu ghi nhớ. Ngay từ ban đầu, điều này được thực hiện để tránh phải công khai phát hành khóa riêng để thực hiện một số thử nghiệm. Bây giờ, cuối cùng với các kiểm tra đã làm việc, nó đã có thể sao chép các báo cáo lỗi và sửa lỗi. Thực ra vấn đề đã được giải quyết ban đầu nhưng lại được giới thiệu lại trong lần thay đổi cuối cùng của chúng tôi đối với lớp Memo, nhờ khả năng khôi phục lại kiểu dữ liệu lâu dài như việc lưu trữ giữ dữ liệu không ghi nhớ của memo. Lần này nó đã được giải quyết bằng cách thay thế các phần tử lâu dài bởi một đối tượng BigInteger ở đây:
https://github.com/Agorise/graphenej/commit/fc91f7366c39ea43193fcc5bcbd66f983e796990
https://github.com/Agorise/graphenej/commit/0192728bd5b3e7a3549fabf5b6abef07835b6252
https://github.com/Agorise/graphenej/commit/3d4b2719bb1d4726ad318f5d7fa4c70953f5417b
Ví điện thoại di động
Thuê một lập trình viên đủ khả năng cho công việc hoạt ảnh không phải là một nhiệm vụ dễ dàng. May mắn thay, Steemit đã giúp chúng tôi thoát khỏi điều đó và có vẻ như chúng tôi đã tìm ra được một chuyên viên giỏi.
Mã lõi của "Carbon" hầu hết được thực hiện xong. Chúng tôi sử dụng thành phần kiến trúc Android mới (AAC) dành riêng cho ví này và tính phản hồi, trừu tượng và tính linh hoạt của AAC là điều phi thường. Các hoạt ảnh đang được lập trình bây giờ (cuối cùng). Chúng tôi hy vọng bản phát hành Beta 1 sẽ sẵn sàng để tải xuống trước lễ Giáng sinh năm nay. Với danh sách các tính năng rất nhiều, hãy chắc chắn xem kênh d.tube hoặc youtube của chúng tôi.
À, đến đây bản tin Agorise đã kết thúc, trờ lại làm việc ngay bây giờ. Nếu bạn muốn thử bất kì phiên bản ra lò trước nào, tham gia các chương trình giveway hoặc chạy thử mạng testnet, dĩ nhiên là như vậy…..
Vui lòng Follow và chia sẻ blog của chúng tôi! :)
Bạn có câu hỏi? Tham gia với chung tôi trên Telegram để chat trực tiếp!
https://t.me/Agorise
Hòa bình, Tình yêu và Xã Hội Tự Do.
-Nhóm lập trình viên tại @Agorise
Bài viết được dịch từ blog Agorise
To Steemians:
- Please support me to build the clean Vietnamese steemit community (NO plagiarism, NO cheat on steemit)
- Vui lòng hỗ trợ tôi xây dựng một cộng đồng steemit Vietnam trong sạch (KHÔNG đạo văn, KHÔNG bịp bợm trên steemit)
STEALTH is going to do some big things!
Sure, it will be!
Thanks for your good posts, I followed you!
Congratulations @vbuffalo! You have completed the following achievement on Steemit and have been rewarded with new badge(s) :
Award for the number of upvotes
Click on the badge to view your Board of Honor.
If you no longer want to receive notifications, reply to this comment with the word
STOP
Do not miss the last post from @steemitboard:
SteemitBoard World Cup Contest - France vs Belgium
Participate in the SteemitBoard World Cup Contest!
Collect World Cup badges and win free SBD
Support the Gold Sponsors of the contest: @good-karma and @lukestokes
Congratulations @vbuffalo! You have completed the following achievement on Steemit and have been rewarded with new badge(s) :
Award for the number of upvotes
Click on the badge to view your Board of Honor.
If you no longer want to receive notifications, reply to this comment with the word
STOP
Congratulations @vbuffalo! You received a personal award!
You can view your badges on your Steem Board and compare to others on the Steem Ranking
Vote for @Steemitboard as a witness to get one more award and increased upvotes!