Developer Tools

Solanaの「公開データベース」思想転換:開発者のブロックチェーン観が変わる

退屈なAPIはもういらない。Solanaの「#100DaysOfSolana」チャレンジ第2週で明らかになった衝撃の真実:ブロックチェーンは単なる台帳ではなく、公開され、アクセス可能なデータベースなのだ。

Solanaアカウントデータを表示するターミナル出力のスクリーンショット。

Key Takeaways

  • Solanaの「全てはアカウント」モデルは、従来のWeb2 APIとは異なり、ブロックチェーンを公開可能でクエリ可能なデータベースとして扱っている。
  • 開発者は認証や権限なしにチェーンの状態を直接読み取ることができ、データアクセスが劇的に簡素化される。
  • SOLを保持するウォレットアカウントと、トークンを管理するプログラムアカウントの区別は、Solanaにおける統一されたアカウントモデルを浮き彫りにする。

ブロックチェーンデータの読み取りは、ブラックボックスへの呼び出しのようなものだと誰もが思っていた。厳格な認証、難解なルール、そしてお決まりのWeb2流儀。いつもの面倒さだ。開発者たちは、いつものAPIの頭痛の種に備えていた。ところが、彼らが手にしたのはシャベルと、開けっ放しの広大な野原だった。

そして、ここが本当の驚きの出発点だ。「#100DaysOfSolana」チャレンジの第2週は、ある参加者が詳述したように、また別の開発者環境をセットアップすることではなかった。それは、実際にチェーンを「覗き込む」ことだった。あなたの脳みそがUターンしてしまうような、そんな覗き込みだ。

予想されていたこと:

ブロックチェーンデータの読み取りは、遅くて複雑で謎めいたAPIを呼び出すようなものだと予想していた。重いセットアップ、認証トークン、わかりにくいドキュメントを伴うような。

提供されたもの:

const { value: lamports } = await rpc.getBalance(address).send();
const sol = Number(lamports) / 1_000_000_000;

キーもログインも権限も不要。ただ…尋ねるだけ。誰でも、いつでも、どんなアドレスでもクエリできる。これは技術的な見落としではない。設計思想そのものだ。Web2と比較してみろ。アカウント残高を取得するには、データベース認証情報とミドルウェアの迷宮をさまよう必要がある。Solanaでは、それは直接的な一本道だ。

Solanaのアカウントモデルは本当にデータベースなのか?

11日目にはこれが叩き込まれた。チャレンジの内容は、SolanaアカウントとWeb2データベースの比較だ。結果は:

solana account $(solana address)

このコマンドが出力したのは、公開鍵、残高、オーナー、実行可能ステータスだ。次に、話題を変えて solana account TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA を実行すると、異なる詳細情報が表示された:オーナー(BPFLoader)、実行可能ステータス、長さ。一方はSOLを保持し、もう一方はあらゆるSPLトークンを管理するコンパイル済みコードであるトークンプログラムそのものだった。どちらも単なる「アカウント」だ。「全てはアカウント」というスローガンは、単なるマーケティング上の誇大広告ではなく、ついにユーザーの脳裏に本物のメンタルモデルとして定着したのだ。

これがシフトの核心だ。テーブルや行で考えるのをやめろ。アカウントとオーナーで考え始めろ。あらゆるデータ、あらゆる状態は、アカウントの中に存在する。そして、各アカウントにはオーナープログラムがある。そのプログラムだけが、それに触れることができる。これは制限ではなく、トラストレス性の礎石だ。中間業者に監視させる必要なく、公開データベースが機能する仕組みなのだ。

12日目には、さらなる明確化がもたらされた。分離の具体的なデモンストレーションだ。開発ネットとメインネットの2つのRPC接続が、全く同じアドレスを指していた。結果は?残高とトランザクション履歴は完全に異なった。ターミナルで同じアドレスの異なる状態を並べて見ることで、分離したネットワークという抽象的な概念が、身をもって感じられるものになった。

チェーンの状態へのこのラディカルにオープンなアクセスは、パラダイムシフトだ。従来のWeb2 APIのゲートキーパーを迂回し、ネットワークの運用を直接的かつ検証可能な窓として提供する。Solana上で開発したい開発者にとって、参入障壁を大幅に下げうる動きだ。もちろん、新しいメンタルモデルに適応できればの話だが。

PDA(プログラム導出アドレス)は依然としてフロンティアだ。それらはプログラムとシードから導出され、署名キーは欠落しており、プログラムだけがトランザクションを実行できることを保証する。参加者はまだそれらを「感じて」おらず、第3週のターゲットとなっている。賢明な目標だ。これらのアカウントタイプの実際的な応用を理解することこそ、真の習熟への道だ。

そして、しばしば見過ごされる重要なアドバイス:開発ネットは、ぶっ壊すためのものだ。そこで、苦労して学べ。それが最も安く学ぶ方法だ。

その影響は計り知れない。開発者がSolanaを真に公開可能でクエリ可能なデータベースとして扱えるようになれば、構築できるアプリケーションや分析の種類は爆発的に増えるだろう。レート制限やAPIキーなしで、リアルタイムなオンチェーンデータ集計を想像してみろ。それは単に高速なトランザクションについてだけではない。より透明でアクセスしやすいブロックチェーンについてなのだ。

オープンソース開発にとってこれは何を意味するのか?

このアプローチは、オープンソースの精神と完璧に合致している。透明性が鍵だ。誰でもネットワークの状態を制限なく検査、クエリ、そして構築できる能力は、イノベーションとコミュニティの参加を促進する。それは、閉鎖的なシステムにしばしばつきまとう不透明さを排除する。伝統的なテクノロジーのウォールドガーデンに慣れている開発者にとって、このオープンモデルは自由であると同時に、 demandingでもある。新しい考え方が必要だが、潜在的な報酬は大きい。

これは単なる別のブロックチェーンではない。これは、分散型世界におけるデータのアクセスおよび管理方法の根本的な再考だ。Solanaのアーキテクチャ上の選択に対する説得力のある主張であり、エコシステムの残りに、自分たちの「データベース」が実際にどれほど公開されているかを検討するよう促すものだ。


🧬 関連インサイト

よくある質問

100DaysOfSolanaチャレンジとは?

100DaysOfSolanaチャレンジは、開発者が100日間毎日コーディングと学習のタスクに取り組むことで、Solanaブロックチェーンの学習と構築を促進するコミュニティ主導のイニシアチブだ。

SolanaのデータアクセスはWeb2 APIとどう違うのか? Web2では、データアクセスには通常、API経由での認証と認可が必要だ。対照的にSolanaでは、誰でもAPIキーや特別な権限なしに、公開チェーンの状態を直接クエリでき、それをオープンデータベースとして扱うことができる。

Solanaのために新しいプログラミング言語を学ぶ必要があるか? Solanaは主にスマートコントラクト開発にRustとC/C++、クライアントサイドのやり取りにJavaScript/TypeScriptを使用するが、アカウントベースの状態管理の基本的な概念は、Solana開発を学ぶ上で重要だ。

Written by
Open Source Beat Editorial Team

Curated insights, explainers, and analysis from the editorial team.

Worth sharing?

Get the best Open Source stories of the week in your inbox — no noise, no spam.

Originally reported by Dev.to