Το Ocean Κάνει τα Πολλαπλά Δίκτυα Ακόμα πιο Εύκολα

- 🦑 Η Νέα Πραγματικότητα
- 🧜♀️ Αγορά Πολλαπλών Δικτύων
- 🐋 Aquarius Πολλαπλών Δικτύων
🦑 Η Νέα Πραγματικότητα
Όταν λανσάραμε το Ocean Market ως μέρος της v3, είχαμε μόλις μετακομίσει στο Κύριο Δίκτυο του ETH από το δικό μας προσαρμοσμένο Κύριο Δίκτυο Απόδειξης Εξουσιοδότησης, οπότε όλη η όλη η εστίαση για τη διεπαφή χρήστη πήγε στο να δουλέψει ενάντια σε αυτό το ένα δίκτυο παραγωγής. Καθώς αναπτύξαμε τα συμβόλαια του Πρωτοκόλλου Ocean σε περισσότερες αλυσίδες για να αποφύγουμε την ταχεία αύξηση των τελών συναλλαγής, το κύριο παράδειγμα της διεπαφής, που βασίζει τα εμφανιζόμενα μεταδεδομένα στο συνδεδεμένο δίκτυο του χρήστη, έγινε γρήγορα ενοχλητικό στη χρήση. Γεια σας, Δεν ήταν δυνατή η ανάκτηση περιουσιακού στοιχείου. 🙃
Έτσι, καθίσαμε κάτω και βρήκαμε τα καλύτερα μοτίβα για την επίλυση αυτών των κύριων προβληματικών σημείων, εστιάζοντας αποκλειστικά στην οπτική γωνία του τελικού χρήστη:
- Μείωση τριβής όταν ακολουθείτε συνδέσμους προς περιουσιακά στοιχεία εκτός του Κυρίου Δικτύου ETH
- Διατήρηση του DID και των υπαρχουσών διευθύνσεων URL ως μοναδικό αναγνωριστικό ενός περιουσιακού στοιχείου, ανεξάρτητα από το δίκτυο.
- Αύξηση της ευρεσιμότητας των περιουσιακών στοιχείων εκτός του Κυρίου Δικτύου ETH
- Αύξηση της ευρεσιμότητας όλων των δικτύων στα οποία αναπτύσσεται το Ocean Protocol
- Ενθάρρυνση της χρήσης δικτύων πέραν του Κυρίου Δικτύου ETH
- Μείωση της ανάγκης αλλαγής δικτύων πορτοφολιού όσο το δυνατόν περισσότερο κατά την περιήγηση στην αγορά
- Οποιαδήποτε πιθανή λύση πρέπει να κλιμακώνεται εύκολα καθώς συνεχίζουμε την ανάπτυξη σε περισσότερα δίκτυα.
🧜 Αγορά Πολλαπλών Δικτύων

Τελικά, καταλήξαμε σε μια λύση που τα αντιμετωπίζει όλα αυτά, όπου το κύριο νέο παράδειγμα είναι μια διεπαφή που δείχνει περιουσιακά στοιχεία που αναμειγνύονται από πολλαπλά δίκτυα. Όλη την ώρα και σε κάθε οθόνη όπου παρατίθενται περιουσιακά στοιχεία. Αυτό αποσυνδέει τα μεταδεδομένα και την πηγή οικονομικών δεδομένων από το δίκτυο του πορτοφολιού του χρήστη, όπως ήταν πριν.
Τα εμφανιζόμενα δίκτυα ελέγχονται πλέον από τον νέο επιλογέα δικτύου.

Από προεπιλογή, επιλέγουμε αυτόματα όλα τα δίκτυα παραγωγής στα οποία αναπτύσσεται το Ocean Protocol. Μόλις αλληλεπιδράσετε με αυτόν τον νέο διακόπτη δικτύου, η επιλογή σας αναλαμβάνει και αποθηκεύεται στο πρόγραμμα περιήγησης σας, ώστε να είναι η ίδια την επόμενη φορά που θα έρθετε στην αγορά.
Η επιλογή ή η αποεπιλογή των δικτύων τροποποιεί στη συνέχεια όλα τα ερωτήματα του Elasticsearch που πηγαίνουν στο νέο μας Aquarius, με αποτέλεσμα να εμφανίζονται ανάμεικτα περιουσιακά στοιχεία στην οθόνη.

Όλα τα περιουσιακά στοιχεία υποδεικνύουν τώρα σε ποιο δίκτυο ανήκουν και σας ζητείται να μεταβείτε στο δίκτυο του περιουσιακού στοιχείου όταν εντοπίσουμε ότι το πορτοφόλι σας είναι συνδεδεμένο σε άλλο δίκτυο.

Και στην περίπτωση της χρήσης του MetaMask, προσθέσαμε ενέργειες για να αλλάξετε το δίκτυο του πορτοφολιού σας απευθείας από τη διεπαφή χρήστη, η οποία, αυτή τη στιγμή, είναι λίγο πολύ η πιο βελτιωμένη ροή χρήστη για να αλλάξετε δίκτυα με το MetaMask από μία Αποκεντρωμένη Εφαρμογή (Dapp).
Με όλα αυτά, η εναλλαγή δικτύου πορτοφολιού είναι πλέον απαραίτητη μόνο όταν θέλετε να αλληλεπιδράσετε με ένα περιουσιακό στοιχείο, όπως η λήψη ή η προσθήκη ρευστότητας στο κοινό ταμείο του.
Το δίκτυο του πορτοφολιού του χρήστη παραμένει επίσης σημαντικό για τη δημοσίευση ενός περιουσιακού στοιχείου, οπότε βασίσαμε ολόκληρη τη φόρμα δημοσίευσης στο τρέχον συνδεδεμένο δίκτυο για να καθορίσουμε σε ποιο δίκτυο δημοσιεύεται ένα περιουσιακό στοιχείο.

Όσον αφορά τα βασικά στατιστικά στοιχεία της αγοράς μας στο υποσέλιδο, τα αλλάξαμε ώστε να εμφανίζονται ενοποιημένοι αριθμοί ως άθροισμα όλων των δικτύων παραγωγής. Στην επεξήγηση του, μπορείτε να βρείτε τις τιμές χωρισμένες ανά δίκτυο.

Τα περισσότερα περιουσιακά στοιχεία στην οθόνη και τα περισσότερα στοιχεία ελέγχου οδήγησαν επίσης σε περαιτέρω βελτιώσεις της διεπαφής χρήστη για να υπάρχει περισσότερος διαθέσιμος χώρος για το πραγματικό κύριο περιεχόμενο. Επανασχεδιάσαμε πλήρως τη διάταξη του κύριου μενού, προσθέσαμε σε αυτό ένα πλαίσιο παγκόσμιας αναζήτησης και μετακινήσαμε ορισμένες προειδοποιήσεις. Και, ενώ το κάναμε, βελτιώσαμε την εμπειρία του για κινητά. ✨✨

Και τέλος, μεταφέρουμε επίσης αυτόματα όλους τους υπάρχοντες σελιδοδείκτες σας από όλα τα δίκτυα και τους συνδυάζουμε σε μία λίστα.
Αλλαγές Προγραμματιστών
Για τους προγραμματιστές, υπάρχουν νέες τιμές στο app.config.js
που ελέγχουν τα δίκτυα που εμφανίζονται στο αναδυόμενο παράθυρο επιλογής δικτύου:
- chainIdsSupported
: Λίστα με όλα τα υποστηριζόμενα chainIds. Χρησιμοποιείται για τη συμπλήρωση της λίστας προτιμήσεων χρήστη για τα Δίκτυα.
- chainIds
: Λίστα των chainIds που θα επιστρέφουν από προεπιλογή τα ερωτήματα της κρυφής μνήμης μεταδεδομένων. Αυτό προεπιλέγει τις προτιμήσεις του χρήστη για τα Δίκτυα.
Στο παρασκήνιο, η βάση κώδικα άλλαξε δραστικά. Έχουμε πλέον μόνο ένα Aquarius, αλλά εξακολουθούμε να έχουμε πολλαπλούς παρόχους και κυρίως υπογράφους, και έπρεπε επίσης να αποσυνδέσουμε τεχνικά το δίκτυο πορτοφολιού από την πηγή δεδομένων. Π.χ. για την εμφάνιση τιμών και οικονομικών δεδομένων, η κύρια εργασία αναδόμησης αφορούσε τη συσχέτιση των περιουσιακών στοιχείων βάσει του ddo.chainId
με τον αντίστοιχο υπογράφο και την ταυτόχρονη υποβολή ερωτημάτων σε πολλαπλούς υπογράφους, ανάλογα με τις ανάγκες. Για το σκοπό αυτό, απλοποιήσαμε επίσης την εγκατάσταση του GraphQL και μεταβήκαμε από τον Apollo Client στην urql.
Αν ενδιαφέρεστε για όλες τις λεπτομερείς αλλαγές στον κώδικα, μπορείτε να ακολουθήσετε το κύριο Pull Request, το οποίο έχει αναφορές και στιγμιότυπα οθόνης για όλες τις άλλες αλλαγές που έγιναν σε αυτό. Αυτό είναι επίσης το καλύτερο μέρος για να ξεκινήσετε αν εκτελείτε τη δική σας διακλάδωση της αγοράς και θέλετε να ενσωματώσετε τις τελευταίες αλλαγές σε πολλά δίκτυα χωρίς να εξετάσετε μόνο μία μεγάλη αλλαγή στο main
.
Multinetwork Interface από kremalicious - Pull Request #628 - oceanprotocol/market
Δείτε το!
Μεταβείτε στο market.oceanprotocol.com και δείτε τα περιουσιακά στοιχεία που αναμειγνύονται επί του παρόντος από 3 δίκτυα από προεπιλογή.
Ocean Market
Μπορείτε να βρείτε όλες τις τιμές που απαιτούνται για τη σύνδεση του πορτοφολιού σας με τα δίκτυα στα οποία αναπτύσσεται το Πρωτόκολλο Ocean στην τεκμηρίωση για τα υποστηριζόμενα δίκτυα, καθώς και έναν οδηγό για τη δημιουργία ενός προσαρμοσμένου δικτύου στο MetaMask.
Υποστηριζόμενα δίκτυα
Ρύθμιση πορτοφολιού MetaMask
🐋 Aquarius Πολλαπλών Δικτύων
Το Aquarius υπέστη μια πλήρη αναδιαμόρφωση. Εκτός από πολυάριθμες βελτιστοποιήσεις και σταθεροποίηση, αυτό το νέο Aquarius ευρετηριάζει περιουσιακά στοιχεία από πολλαπλές αλυσίδες και τα παραδίδει όλα μαζί στις απαντήσεις Διεπαφών Προγραμματισμού Εφαρμογής, με μια νέα τιμή ddo.chainId
ως μέρος των μεταδεδομένων κάθε περιουσιακού στοιχείου.
Εκτός από τη δυνατότητα διασύνδεσης με μικτά περιουσιακά στοιχεία, αυτό προσφέρει επίσης ένα τεράστιο πλεονέκτημα συντηρησιμότητας, καθώς τώρα πρέπει να αναπτυχθεί και να συντηρηθεί μόνο μία περίπτωση Aquarius αντί για μία για κάθε υποστηριζόμενο δίκτυο.
Έτσι, οι πολλαπλές περιπτώσεις του Aquarius μειώνονται τώρα σε μία περίπτωση, όπου για κάθε δίκτυο εκκινείται ένας συγκεκριμένος πρόγραμμα ευρετηρίασης. Η Διεπαφή Προγραμματισμού Εφαρμογής (API) του Aquarius απέκτησε ένα νέο endpoint που αποκαλύπτει ποιες αλυσίδες ευρετηριάζονται στο /api/v1/aquarius/chains/list
.

Μετάβαση σε Aquarius Πολλαπλών Δικτύων
Το Aquarius v3.0.0+
είναι το κατάλληλο.
Εάν χρησιμοποιείτε τις απομακρυσμένες περιπτώσεις Aquarius, το μόνο που έχετε να κάνετε είναι να στρέψετε την εφαρμογή σας κατά του νέου aquarius.oceanprotocol.com
και, στη συνέχεια, στη διεπαφή σας να κάνετε πράγματα με βάση το ddo.chainId
, όπως η τροποποίηση των ερωτημάτων Elasticsearch για να συμπεριλάβετε περιουσιακά στοιχεία από συγκεκριμένα δίκτυα.
Θα διατηρήσουμε τις παλιές περιπτώσεις αποκλειστικού δικτύου όπως το aquarius.mainnet.oceanprotocol.com
σε λειτουργία μέχρι την 1η Σεπτεμβρίου 2021 και ενθαρρύνουμε όλους να μεταφερθούν στο aquarius.oceanprotocol.com
.
Με ένα Aquarius να ευρετηριάζει πολλαπλές αλυσίδες, είναι σπάνια χρήσιμο να επιστρέψετε όλα τα περιουσιακά στοιχεία, καθώς πιθανότατα ενδιαφέρεστε μόνο για τα περιουσιακά στοιχεία του δικτύου παραγωγής όταν τα καταχωρείτε σε μια εφαρμογή. Έτσι θα αφαιρέσουμε επίσης το endpoint GET /assets/ddo
και προτείνουμε να το αντικαταστήσετε με ένα συγκεκριμένο ερώτημα αναζήτησης στο POST /assets/ddo/query
και να συμπεριλάβετε το chainId
που θέλετε, όπως:
{
page: 1,
offset: 1000,
query: {
query_string: {
query: 'chainId:1 AND -isInPurgatory:true'
}
}
}
Αν έχετε αναπτύξει τις δικές σας περιπτώσεις, σας προτείνουμε να αναπτύξετε μια νέα με v3.0.0+
για να ξανά ευρετηριάσετε τα πάντα και, τέλος, να μεταφέρετε τις διευθύνσεις URL στην εφαρμογή σας σε αυτή τη νέα ανάπτυξη και να προσαρμόσετε ανάλογα τη διεπαφή της εφαρμογής σας. Το readme έχει περισσότερες πληροφορίες για το πώς ακριβώς να αναπτύξετε αυτό το νέο Aquarius.
oceanprotocol/aquarius
Ακολουθήστε το Πρωτόκολλο Ocean στο Twitter, το Telegram, το LinkedIn, το Reddit, το GitHub και το Newsletter για ενημερώσεις και ανακοινώσεις του έργου. Και συνομιλήστε απευθείας με άλλους προγραμματιστές στο Discord.
Ευχαριστούμε τον Trent McConaghy και τη Sarah V..
Πρωτότυπο Άρθρο (Αγγλική): Ocean Makes Multi-Network Even Easier
Συντάκτης Πρωτότυπου Άρθρου: Matthias Kretschmann
Ημερομηνία Συγγραφής Πρωτότυπου Άρθρου: 29 Ιουλίου 2021