#41.暗号通貨財布連動および硬貨取引(ソラナ編)
こんにちは!私は最近人気のあるブロックチェーンを開発しています.一緒にプロジェクトをしてオフラインでコミュニケーションしたいと思っていますが、今は一人で勉強したい内容がたくさんあるので、コロナが落ち着くまで勉強します.今日はソンラナネットワークに接続した1幽霊の財布を縛る.賛楽またはコインを受け取った後3別の財布に送って、トランザクションをチェックします.まず、作成したビデオを共有します.
ダウンジャケットの動画をチェック
作業内容を知る前に、Phantom Walletをダウンロードしてください.
1.ソラナの財布を縛る
Solana-labsはdAppを簡単にするものをたくさん開発しました財布は@solana/wallet-adapterライブラリで簡単にバインドできます.
技術スタック:react、typeScript、web 3.js
簡単に実現した最近はNextjsフレームワークではTypeScriptで多く開発されています次に、このテクノロジースタックを適用します.
import { WalletAdapterNetwork, WalletError } from "@solana/wallet-adapter-base";
import {
ConnectionProvider,
WalletProvider,
} from "@solana/wallet-adapter-react";
import { WalletModalProvider } from "@solana/wallet-adapter-react-ui";
import {
LedgerWalletAdapter,
PhantomWalletAdapter,
SlopeWalletAdapter,
SolflareWalletAdapter,
SolletExtensionWalletAdapter,
SolletWalletAdapter,
TorusWalletAdapter,
} from "@solana/wallet-adapter-wallets";
import { clusterApiUrl } from "@solana/web3.js";
import React, { FC, useCallback, useMemo } from "react";
import toast, { Toaster } from "react-hot-toast";
import { Notification } from "../Notification";
import { Navigation } from "../Navigation";
export const Wallet: FC = () => {
// devnet, testnet, mainnet-beta 중 하나의 네트워크에 연결합니다.
const network = WalletAdapterNetwork.Devnet;
const endpoint = useMemo(() => clusterApiUrl(network), [network]);
// network를 전환하더라도 바로 컴파일 될것이고, 로그인된 정보로 접속됩니다.
const wallets = useMemo(
() => [
new PhantomWalletAdapter(),
new SlopeWalletAdapter(),
new SolflareWalletAdapter(),
new TorusWalletAdapter(),
new LedgerWalletAdapter(),
new SolletWalletAdapter({ network }),
new SolletExtensionWalletAdapter({ network }),
],
[network]
);
// 접속에 문제가 생겼을 때 토스트로 에러메세지를 띄워줍니다.
const onError = useCallback(
(error: WalletError) =>
toast.custom(
<Notification
message={
error.message ? `${error.name}: ${error.message}` : error.name
}
variant="error"
/>
),
[]
);
return (
<ConnectionProvider endpoint={endpoint}>
<WalletProvider wallets={wallets} onError={onError} autoConnect>
<WalletModalProvider>
<Navigation />
</WalletModalProvider>
<Toaster position="bottom-left" reverseOrder={false} />
</WalletProvider>
</ConnectionProvider>
);
};
このページに関する質問です.const endpoint = useMemo(() => clusterApiUrl(network), [network]);
エンドポイントはweb 3です.jsライブラリが提供するクラスタApiUrl用のネットワーク(devnet)を転送することによってインポートされる.ではクラスタとは何でしょうか.よく分からない単語を読むと、まず単語の歴史を見てから近づく習慣があります.クラスタについて
1.クラスタの概念と歴史
コンピュータクラスタは、単一のシステムとして表示できる「一緒に作業するコンピュータ」のセットです.つまり、複数のコンピュータが集まって計算を処理しますが、大きな問題を解決するのは、システムのように見えます.
Greg Pfisterによると、クラスタは特定のベンダーによって発明されたものではなく、1台のコンピュータ上ですべてのタスクを実行できないか、バックアップが必要な顧客によって発明されたという.ピーターは日付を1960年代と定めた.すべてのタイプの並列タスクを実行するツールとして、クラスタ計算の形式工学の基礎は1967年のIBMのGene AmdahlはAmdahlの法則を発表し,並列処理に関する画期的な論文とされている."
2.従来のシリアル処理方式におけるパラレル処理方式の導入
2-1. 従来のシリアル処理
従来のシリアル処理方式を上図に示す.しかし、現在のコンピュータの主な用途はデータ、情報、知識や知能処理などです.これら従来から大規模な計算が必要だった問題をより効果的に処理するためには,より高性能なコンピュータの開発が切実である.しかし、コンピュータの性能は通常規模の拡大に伴って向上し、大型コンピュータの性能価格比が大きいほど、コンピュータはますます大型化すると考えられている.大型化は回路技術とソフトウェア技術の面で一定の限界があり、大々的にやるだけで高性能コンピュータに対する要求を満たすことはできない.そこで,これらの問題を効率的に処理するために,問題を並列に処理する方法を導入した.すなわち,高価で大規模な計算とは扱いにくく,大きさも大きい大型計算機よりも安価で,より小さい計算機と数台に分けて計算を処理する方法が導入された.
2-2. 並列処理の導入
パラレル処理は大規模な問題を解決する方法であり、複数のプロセッサが互いに通信し、協力し、大きな問題を細分化し、超高速解決を実現する.並列処理を行うために、2つ以上のCPUを有するコンピュータを並列プロセッサと呼び、膨大なハードウェアを最大効率で実行するソフトウェアを並列ソフトウェアと呼ぶ.
3.ドッキング管理サーバーの変更方法
従来のサーバ管理方式では、各フェーズの更新や問題が発生すると、プロセス全体が中断する次のフェーズのプロセスがあります.
ここでは、Dockerが登場してから、どんなプログラムでも容器になることができます.違うプログラムでもコンテナで規格化されています!コンテナはAWS、Azure、Google Cloudなどのクラウド環境で実行できます.
など、ブロックチェーンにはEVM(イーサ仮想マシン)があり、ドッキングステーションは仮想マシンと似ていますが、違いもあります.仮想マシンのように独立して動作しますが、仮想マシンよりも高速で容易で効率的です.(仮想マシンがEVMを使用している場合は、後で発表します.)
ドッキングステーションはコンテナベースのオープンソース仮想化プラットフォームであり、サーバ管理と開発方式に革新をもたらした.Dockerがもたらす変化を簡単に6種類、1にまとめます.クラウドイメージよりも管理が容易です.2.他のプロセスから分離し、仮想マシンのように使用しますが、パフォーマンスはほとんど低下しません.3.複雑なテクノロジー(NameSpace,Network...)知らなくても使えます.4.イメージ構築レコードを残します.5.コードと設定によって管理を行い、再現と修正を行うことができる.6.特定の企業技術に依存しないオープンソース.
4.ドックステーション(コンテナ)を管理するクバーネディス
以前、ダックの理由を詳しく説明したのは、ダックを管理するクバーネディスを知るためだ.Googleでクラスタを検索すると、クバーネディスに関する記事がたくさんあります...だから私も探しました!今まで読んでいたら本当に...褒めてくれてありがとうクバーネディスは、複数のサーバと複数のサービスを管理するためのコンテナ(ドッキングステーション)を管理するツールです.過去から現在に至るまで、導入プロセスの変化は次のとおりです.
クバーネディスが必要とする理由を理解してみましょう.本番環境では、アプリケーションを実行するコンテナを管理し、ダウンタイムがないことを確認する必要があります.たとえば、コンテナが閉じている場合は、別のコンテナを再起動する必要があります.この問題をシステムに処理させるには、クバーネディスだけが必要だ!次に、分散システムを柔軟に実行するためのフレームワークを提供します.アプリケーションのユーザーは急激に増加するか、少ない可能性があります.最大ユーザが100万、最低ユーザが100名の場合、サーバ料金を100万で支払うのは効率的ではありません.流量過負荷の問題を解決するには、相応の費用だけを要求するのが革新だと思います.また、自動化された導入、ロールバック、リカバリ機能は、ユーザーに与える不便を根本的に根絶します.
5.クバーネディスが放つ群集の香り!クラスタとは
したがって,クラスタを検索すると,多くのクバーネディスが発見される.(検索アルゴリズムもありますが…)最後に、クラスタは複数のサーバを1つのサーバとして使用します.数少ないサーバから最大数千台のサーバをクラスタとして使用できます.あちこちに散らばっているコンテナも仮想ネットワークを利用して簡単に通信でき、同じサーバにいるようです.
一行のコードを完全に理解したいという欲求で遅れていたが、なぜか喜んでいた.明日も頑張ります!
参考文献:シリアル処理とパラレル処理の比較、コンピュータクラスタリングウィキペディア、メモリ共有ウィキペディア、ドッキングステーションとは?ブログ、クバーネディス、インフラストラクチャQA
Reference
この問題について(#41.暗号通貨財布連動および硬貨取引(ソラナ編)), 我々は、より多くの情報をここで見つけました https://velog.io/@qwerzxcvss/41.Connect-Solana-Walletテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol