# Solana Articles associés

Le Centre d'actualités HTX fournit les derniers articles et analyses approfondies sur "Solana", couvrant les tendances du marché, les mises à jour des projets, les développements technologiques et les politiques réglementaires dans l'industrie crypto.

Rétrospective annuelle 2025 des ETF cryptographiques : Wall Street dit adieu à l'attentisme, le feu vert réglementaire ouvre l'ère des actifs multiples

L'année 2025 marque un tournant pour les ETF cryptos à Wall Street, avec un changement majeur de l'approche réglementaire de la SEC américaine. L'approbation de normes d'admission uniformes pour les fonds liés aux matières premières en septembre a ouvert les portes à une multitude de nouveaux produits, au-delà du Bitcoin et de l'Ethereum. Les ETF spot sur Bitcoin ont enregistré des entrées nettes de 577 milliards de dollars depuis leur lancement, tandis que ceux sur Ethereum ont attiré 126 milliards de dollars. Récemment, des ETF sur le XRP et le Solana ont également été lancés avec succès, recueillant respectivement 883 millions et 92 millions de dollars d'afflux nets, malgré un contexte macroéconomique difficile. L'attention se porte désormais sur les ETF à indices multi-cryptomonnaies, considérés comme plus adaptés aux investisseurs institutionnels qui commencent à s'intéresser sérieusement à cette classe d'actifs. Des institutions comme Vanguard et Bank of America ont annoncé un accès élargi à ces produits pour leurs clients. Le passage progressif d'une base d'investisseurs particuliers à une base institutionnelle, illustré par des investissements de fonds souverains et d'universités, est perçu comme un signe positif pour la pérennité à long terme du marché.

marsbit12/29 06:31

Rétrospective annuelle 2025 des ETF cryptographiques : Wall Street dit adieu à l'attentisme, le feu vert réglementaire ouvre l'ère des actifs multiples

marsbit12/29 06:31

Solana et Hyperliquid dominent les revenus des chaînes en 2025 !

De<?php namespace App\Http\Controllers; use App\Models\Product; use App\Models\Category; use Illuminate\Http\Request; use Illuminate\Support\Facades\Storage; use Illuminate\Support\Facades\Validator; class ProductController extends Controller { //direct product list page public function list() { $pizzas = Product::select('products.*', 'categories.name as category_name') ->when(request('key'), function ($query) { $query->where('products.name', 'like', '%' . request('key') . '%'); }) ->leftJoin('categories', 'products.category_id', 'categories.id') ->orderBy('products.created_at', 'desc') ->paginate(3); $pizzas->appends(request()->all()); return view('admin.product.pizzaList', compact('pizzas')); } //direct product create page public function createPage() { $categories = Category::select('id', 'name')->get(); return view('admin.product.create', compact('categories')); } //create product public function create(Request $request) { $this->productValidationCheck($request, "create"); $data = $this->requestProductInfo($request); $fileName = uniqid() . $request->file('pizzaImage')->getClientOriginalName(); $request->file('pizzaImage')->storeAs('public', $fileName); $data['image'] = $fileName; Product::create($data); return redirect()->route('product#list'); } //delete product public function delete($id) { Product::where('id', $id)->delete(); return redirect()->route('product#list')->with(['deleteSuccess' => 'Product Deleted...']); } //edit product public function edit($id) { $pizza = Product::select('products.*', 'categories.name as category_name') ->leftJoin('categories', 'products.category_id', 'categories.id') ->where('products.id', $id)->first(); return view('admin.product.edit', compact('pizza')); } //update page public function updatePage($id) { $pizza = Product::where('id', $id)->first(); $category = Category::get(); return view('admin.product.update', compact('pizza', 'category')); } //update product public function update(Request $request) { $this->productValidationCheck($request, "update"); $data = $this->requestProductInfo($request); if ($request->hasFile('pizzaImage')) { $oldImageName = Product::where('id', $request->pizzaId)->first(); $oldImageName = $oldImageName->image; if ($oldImageName != null) { Storage::delete('public/' . $oldImageName); } $fileName = uniqid() . $request->file('pizzaImage')->getClientOriginalName(); $request->file('pizzaImage')->storeAs('public', $fileName); $data['image'] = $fileName; } Product::where('id', $request->pizzaId)->update($data); return redirect()->route('product#list'); } //request product info private function requestProductInfo($request) { return [ 'category_id' => $request->pizzaCategory, 'name' => $request->pizzaName, 'description' => $request->pizzaDescription, 'price' => $request->pizzaPrice, 'waiting_time' => $request->pizzaWaitingTime, ]; } //product validation check private function productValidationCheck($request, $action) { $validationRules = [ 'pizzaName' => 'required|min:5|unique:products,name,' . $request->pizzaId, 'pizzaCategory' => 'required', 'pizzaDescription' => 'required|min:10', 'pizzaPrice' => 'required', 'pizzaWaitingTime' => 'required', ]; $validationRules['pizzaImage'] = $action == "create" ? 'required|mimes:jpg,jpeg,png,webp|file' : 'mimes:jpg,jpeg,png,webp|file'; Validator::make($request->all(), $validationRules)->validate(); } }

ambcrypto12/26 19:34

Solana et Hyperliquid dominent les revenus des chaînes en 2025 !

ambcrypto12/26 19:34

活动图片