ลองเลย: https://hstp.ai
npx hstp;
โปรโตคอลนี้มีจุดมุ่งหมายเพื่อพัฒนา Application Layer Abstraction สำหรับ Hyper Service Transfer Protocol
HSTP เป็นการเรียกซ้ำตามลักษณะของ HSTP โปรโตคอลนี้ใช้ตัวเองเป็นอินเทอร์เฟซ บนอุปกรณ์ที่เชื่อมต่ออินเทอร์เน็ตทุกเครื่องจะมีอินสแตนซ์ HSTP นั่นเป็นสาเหตุที่ไม่จำเป็นต้องรับเลี้ยงบุตรบุญธรรม HSTP ทำงานอยู่บนอินเทอร์เน็ตแล้ว ขณะนี้เราเพิ่งประสบความสำเร็จในการอธิบายโปรโตคอลผ่านโปรโตคอลบนเครือข่ายที่ต่างกัน นั่นเป็นเหตุผลที่อย่าเปรียบเทียบกับ web2, web3 หรือในทางกลับกัน
HSTP เป็นอินเทอร์เฟซการแสดงแอปพลิเคชันสำหรับเครือข่ายที่ต่างกัน
อินเทอร์เฟซ HSTP บังคับใช้ชุดวิธีการเพื่อให้สามารถสื่อสารกับโหนดอื่นในเครือข่ายได้ ดังนั้นการให้บริการ ลูกค้า และโหนดอื่นๆ จึงสามารถสื่อสารระหว่างกันด้วยวิธีการเข้ารหัสที่เชื่อถือได้ตั้งแต่ต้นจนจบ เมื่อถึงเวลาที่การแก้ไขโหนดจะขึ้นอยู่กับอัลกอริธึมการแก้ไขเส้นทางที่เร็วที่สุดที่ฉันเขียน
ช่วงเวลาแห่งเรื่องราว!
ภาพรวมเล็กๆ น้อยๆ
ลองคิดดูว่าเราอยู่ในสถานการณ์ที่มีแม่คนหนึ่งและพ่อคนหนึ่งมีชีวิตที่มีความสุข พวกเขามีลูก! ทันใดนั้นผู้เป็นแม่จำเป็นต้องดื่มยาเป็นประจำเพื่อรักษาโรค ยาเม็ดนั้นเป็นพิษต่อทารก ทารกร้องไห้และแม่โทรหาพ่อเพราะเขาคือคนเดียวที่ไว้ใจได้ที่จะช่วยเหลือลูก แต่บางครั้งพ่อก็อยู่บ้านไม่ได้ต้องทำอะไรสักอย่างเพื่อให้นมลูก พ่อได้ยินมาว่าคนส่งนมคนหนึ่งมีนมสดคุณภาพสูงในราคาต่ำ พ่อตัดสินใจลองคุยกับคนส่งนม คนส่งนมส่งนมให้พ่อ พ่อยกนมให้แม่ แม่ให้นมลูก ตอนนี้ลูกมีความสุข ลูกก็หลับ แม่เห็นลูกมีความสุข
ครอบครัวไม่เคยซื้อนมจากข้างนอก นี่เป็นครั้งแรกที่ซื้อนมให้ลูก (แม่ไม่รู้จำนวนคนส่งนม คนส่งนมไม่รู้ที่อยู่บ้าน)
As steps:
0) - Baby wants to drink milk.
1) - Baby cries to the mom.
3) - Mom see the baby is crying.
4) - Mom checks the fridge. Mom sees the milk is empty. (Mother is only trusting the Father)
5) - Mom calls the father.
6) - Father calls the milkman.
7) - Milkman delivers the milk to father.
8) - Father delivers the milk to mom.
9) - Mom gives the milk to the baby.
10) - Baby drinks the milk.
11) - Baby is happy.
12) - Baby sleeps.
13) - Mother see the baby is happy and sleeps.
14) - In order to be able to contact the milkman again, the mother asks the father to tell her that she wants the milkman to save the address of the house and the mobile phone of the mother.
15) - Mother calls the father.
16) - Father calls the milkman.
17) - Milkman saves the address of the house and the mobile phone of the mother.
Oops, tomorrow baby wakes up and cries again,
0) - Baby wants to drink milk.
1) - Baby cries to the mom.
2) - Mom see the baby is crying.
3) - Mom checks the fridge. Mom sees the milk is empty. (Mother is trusting the Father had right decision in the first place by giving the address to the milkman, and the milkman had right decision in the first place by saving the address of the house and the mobile phone of the mother.)
4) - Mother calls the milkman (Mother is trusting the Father's decision only)
5) - Milkman delivers the milk to mom.
6) - Mom gives the milk to the baby.
7) - Baby drinks the milk.
8) - Baby is happy.
9) - Baby sleeps.
10) - Mother see the baby is happy and sleeps.
11) - Mother is happy and the mother trust the milkman now.
เอกสารที่คุณกำลังอ่านนี้เป็นสิ่งที่ชาวอินเทอร์เน็ตสามารถเชื่อมโยงผู้อื่นได้ด้วยการไว้วางใจในบริการที่ให้บริการแก่ลูกค้า และความไว้วางใจสามารถรักษาไว้ได้ด้วยการให้บริการที่ดีเท่านั้น ความไว้วางใจเป็นกุญแจสำคัญ แต่ไม่เพียงพอสำหรับการอยู่รอด บริการจะต้องมีความน่าเชื่อถือ สม่ำเสมอ ราคาถูก เว้นแต่ประชาชนจะตัดสินใจว่าจะไม่ขอจากท่านอีก
แล้วมันง่ายใช่มั้ยล่ะ? เข้าใจง่ายมากว่าใครคือคนในเรื่อง?
อีกด้วย,
ทารกอยู่ในมือที่เชื่อถือได้ ไม่มีอะไรต้องกังวล พวกเขารักคุณ คุณจะเข้าใจเมื่อคุณโตขึ้นมีลูก
// คำอธิบายขั้นตอนทางเทคนิคเร็ว ๆ นี้ แต่ก็ไม่ได้ยากอย่างที่เห็น
HSTP เป็นอินเทอร์เฟซซึ่งเป็นชุดของวิธีการที่เลเยอร์แอปพลิเคชันต้องใช้ อินเทอร์เฟซใช้เพื่อสื่อสารกับโหนดอื่นในเครือข่าย อินเทอร์เฟซได้รับการออกแบบเพื่อใช้ในเครือข่ายที่ต่างกัน
HSTP จะต้องถูกนำไปใช้กับเลเยอร์ใดๆ ของอุปกรณ์/สภาพแวดล้อมที่เชื่อมต่อกับเครือข่าย
โหนด HSTP อาจเป็นเซิร์ฟเวอร์ TCP, เซิร์ฟเวอร์ HTTP, ไฟล์คงที่ หรือสัญญาในห่วงโซ่ใดๆ โหนด HSTP หนึ่งโหนดสามารถเรียกโหนด HSTP อื่นได้ ดังนั้นโหนดจึงสามารถโทรหากันได้อย่างอิสระ สามารถตรวจสอบสถานะระบบ และสื่อสารระหว่างกันได้
HSTP ได้ถูกนำไปใช้ในระดับภาษาแล้ว โดยคนเพื่อประชาชน ภาษาอังกฤษเป็นภาษาที่ใช้กันทั่วโลกเป็นส่วนใหญ่ จาวาสคริปต์สามารถเป็นที่รู้จักและภาษาที่นำมาใช้เป็นส่วนใหญ่สำหรับสภาพแวดล้อมเบราว์เซอร์ Solidity มีไว้สำหรับเชนที่ใช้ EVM, ไฮเปอร์บีสำหรับเครือข่ายที่ใช้ TCP ฯลฯ
ต้องใช้อินเทอร์เฟซ HSTP ระหว่างอุปกรณ์/เครือข่ายที่เชื่อมต่อ HSTP
ตัวเลือกการปรับขนาดแบบไม่มีที่สิ้นสุด: อุปกรณ์ที่เชื่อมต่อ TCP ใดๆ สามารถพูดคุยกับอุปกรณ์ที่เชื่อมต่อ TCP อื่นๆ ผ่าน HSTP นั่นหมายความว่าเว็บเบราว์เซอร์ใด ๆ ก็ตามให้บริการของโหนด HSTP อื่น และเว็บเบราว์เซอร์ใด ๆ ก็สามารถเรียกใช้เว็บเบราว์เซอร์อื่นได้
อินเทอร์เฟซการแสดงแอปพลิเคชันแบบเดียวกัน: HSTP เป็นอินเทอร์เฟซแบบเครื่องแบบ ซึ่งเป็นชุดของวิธีการที่เลเยอร์แอปพลิเคชันจะต้องนำไปใช้
เครือข่ายที่แตกต่างกัน: ผู้เข้าร่วมเครือข่ายใดๆ ก็ตามสามารถแบ่งปันทรัพยากรกับผู้เข้าร่วมคนอื่นๆ ของเครือข่ายได้ ทรัพยากรอาจเป็น CPU, หน่วยความจำ, ที่เก็บข้อมูล, เครือข่าย ฯลฯ
การผันเวอร์ชันของเว็บ เนื่องจากเทคโนโลยีบล็อคเชนที่เรียกว่า web3 ผู้คนเริ่มพูดคุยเกี่ยวกับความแตกต่างระหว่างเว็บ การเปรียบเทียบเป็นพฤติกรรมสำหรับกรอบความคิดของระบบตัวเลขแบบเพิ่มหน่วย อันไหนดีกว่า: ไม่มีเลย เราต้องสร้างระบบที่สามารถพูดคุยได้ในโปรโตคอลเดียว ภายใต้บริการอาจเป็นอะไรก็ได้ HSTP มีเป้าหมายเพื่อสิ่งนั้น
อินเทอร์เฟซรีจิสทรี อินเทอร์เฟซรีจิสทรีที่ออกแบบมาเพื่อใช้กับเลเยอร์ TCP เพื่อให้สามารถลงทะเบียนโหนด tld ระดับบนสุดในเครือข่ายได้ การใช้งานครั้งแรกของรีเลย์ HSTP TCP จะแก้ไข hstp/
รีจิสทรีมีอินเทอร์เฟซสองส่วน:
การใช้งานรีจิสทรีจำเป็นต้องมีโหนด HSTP สองโหนด
อินเทอร์เฟซของเราเตอร์
เพื่อจุดประสงค์ในการสาธิต เราจะใช้ตัวอย่างความแข็งแกร่งต่อไปนี้:
// SPDX-License-Identifier: GNU-3.0-or-later
pragma solidity ^ 0.8.0 ;
import " ./HSTP.sol " ;
import " ./ERC165.sol " ;
enum Operation {
Query,
Mutation
}
struct Response {
uint256 status;
string body;
}
struct Registry {
HSTP resolver;
}
// HSTP/Router.sol
abstract contract Router is ERC165 {
event Log ( address indexed sender , Operation operation , bytes payload );
event Register ( address indexed sender , Registry registry );
mapping ( string => Registry) public routes;
function reply ( string memory name , Operation _operation , bytes memory payload ) public virtual payable returns (Response memory response ) {
emit Log ( msg . sender , _operation, payload);
// Traverse upwards and downwards of the tree.
// Tries to find the closest path for given operation.
// If the route is registered on HSTP node, reply from children node.
// If the node do not have the route on this node, ask for parent.
if (routes[name]) {
if (_operation == Operation.Query) {
return this . query (payload);
} else if (_operation == Operation.Mutation) {
return this . mutation (payload);
}
}
return super . reply (name, _operation, payload);
}
function query ( string memory name , bytes memory payload ) public view returns (Response memory ) {
return routes[name].resolver. query (payload);
}
function mutation ( string memory name , bytes memory payload ) public payable returns (Response memory ) {
return routes[name].resolver. mutation (payload);
}
function register ( string memory name , HSTP node ) public {
Registry memory registry = Registry ({
resolver: node
});
emit Register ( msg . sender , registry);
routes[name] = registry;
}
function supportsInterface ( bytes4 interfaceId ) public view virtual override returns ( bool ) {
return interfaceId == type (HSTP).interfaceId;
}
}
อินเตอร์เฟซ HSTP
// SPDX-License-Identifier: GNU-3.0-or-later
pragma solidity ^ 0.8.0 ;
import " ./Router.sol " ;
// Stateless Hyper Service Transfer Protocol for on-chain services.
// Will implement: EIP-4337 when it's on final stage.
// https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4337.md
abstract contract HSTP is Router {
constructor ( string memory name ) {
register (name, this );
}
function query ( bytes memory payload )
public
view
virtual
returns (Response memory );
function mutation ( bytes memory payload )
public
payable
virtual
returns (Response memory );
}
ตัวอย่างโหนด HSTP
โหนด HSTP มีสิทธิ์เข้าถึงการเรียกเราเตอร์หลักโดยวิธี super.reply (ชื่อ การดำเนินการ เพย์โหลด) โหนด HSTP ยังสามารถเรียกโหนดย่อยได้ด้วยการเรียกเมธอด this.query(payload) หรือ this.mutation(payload)
โหนด HSTP อาจเป็นสัญญาอัจฉริยะ หรือเว็บเบราว์เซอร์ หรืออุปกรณ์ที่เชื่อมต่อกับ TCP
โหนดมีความสามารถเต็มรูปแบบในการเพิ่มโหนด HSTP ให้กับเครือข่ายหรือตัวเองเป็นบริการย่อย
HSTP HSTP
/ /
HSTP HSTP HSTP
/
HSTP HSTP
/ /
HSTP HSTP
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^ 0.8.0 ;
import " hstp/HSTP.sol " ;
// Stateless Hyper Service Transfer Protocol for on-chain services.
contract Todo is HSTP (" Todo ") {
struct ITodo {
string todo;
}
function addTodo (ITodo memory request ) public payable returns (Response memory response ) {
response.body = request.todo;
return response;
}
// Override for HSTP.
function query ( bytes memory payload )
public
view
virtual
override
returns (Response memory ) {}
function mutation ( bytes memory payload )
public
payable
virtual
override
returns (Response memory ) {
(ITodo memory request ) = abi.decode (payload, (ITodo));
return this . addTodo (request);
}
}
ข้อเสนอ Ethereum อยู่ในร่างแล้ว แต่โปรโตคอลมีการใช้งานอ้างอิง Todo.sol
รายการทั้งหมดที่นี่
คุณสามารถทดสอบ HSTP และลองรีมิกซ์ได้เลย
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^ 0.8.0 ;
import " hstp/HSTP.sol " ;
// Stateless Hyper Service Transfer Protocol for on-chain services.
contract Todo is HSTP (" Todo ") {
struct TodoRequest {
string todo;
}
function addTodo (TodoRequest memory request ) public payable returns (Response memory response ) {
response.body = request.todo;
return response;
}
// Override for HSTP.
function query ( bytes memory payload )
public
view
virtual
override
returns (Response memory ) {}
function mutation ( bytes memory payload )
public
payable
virtual
override
returns (Response memory ) {
(TodoRequest memory todoRequest ) = abi.decode (payload, (TodoRequest));
return this . addTodo (todoRequest);
}
}
ใบอนุญาตสาธารณะทั่วไปของ GNU V3
คากาไตย์ กาลี