1650408000
In diesem Beitrag erfahren Sie, was TRONSCAN ist und wie Sie TRONSCAN verwenden
TRONSCAN ist der erste TRON-basierte Blockchain-Explorer, der es Benutzern ermöglicht, Transaktionen auf der TRON-Blockchain nachzuschlagen, zu bestätigen und zu validieren. Inzwischen verfügt TRONSCAN nicht nur über die grundlegenden Funktionen als Blockchain-Explorer, wie das Nachschlagen von Transaktionen, Konten, Blöcken, Knoten, Smart Contracts und On-Chain-Daten, sondern unterstützt auch die Token-Erstellung, Vertragsbereitstellung, Abstimmung usw.
Die TRON-Blockchain verfügt über ein öffentliches Hauptbuch, aus dem TRONSCAN Informationen abruft und auf unserer Website anzeigt. Es ist unsere Mission, die Transparenz von Blockchains zu fördern, indem wir alle Transaktionen auf der TRON-Blockchain auf die transparenteste und zugänglichste Weise abrufen und durchsuchen.
1. Wie erstelle ich eine Brieftasche auf TRONSCAN?
2. Wie melde ich mich mit der Keystore-Datei bei TRONSCAN an?
3. Wie melde ich mich mit einem privaten Schlüssel bei TRONSCAN an?
4. Wie sende ich Tokens auf TRONSCAN?
5. Wie erhalte ich Token auf TRONSCAN?
6. Wie erhält man Bandbreite und Energie?
7. Wie wählt man Superrepräsentanten?
Hinweis: Ihre Stimmen werden wirksam, wenn der nächste Abstimmungszyklus beginnt. Sie können Ihre Stimmen vor dem nächsten Abstimmungszyklus jederzeit neu verteilen.
8. Wie taue ich TRX auf?
Hinweis: TRX Nr. 1 können aufgetaut werden, nachdem sie drei Tage lang eingefroren wurden. Abhängig von den verschiedenen Arten der durch das Einfrieren gewonnenen Ressourcen kann TRX in separaten Chargen aufgetaut werden, solange alle für denselben Zweck eingefrorenen TRX mindestens drei Tage lang eingefroren wurden.
Nr. 2 Nach dem Auftauen werden die durch das Einfrieren von TRX erhaltenen Ressourcen (TP, Bandbreite/Energie usw.) gelöscht.
Nr. 3 Nach dem Auftauen werden TPs, die zur Abstimmung verwendet wurden, ebenfalls entfernt, und Sie müssen den TRX erneut einfrieren und den TP dazu bringen, erneut abzustimmen, um sicherzustellen, dass Ihre Stimmrechte nicht beeinträchtigt werden.
So wie viele Krypto-Token bereits über dezentrale Wallet-Systeme zum Verwalten und Staking von Vermögenswerten verfügen, hat TRON bereits ein eigenes Hardware-Software-System entwickelt; TRONSCAN mit Ledger-Gerät.
TRONSCAN ist der offizielle Explorer der öffentlichen Smart-Contract-Blockchain von TRX. Wie jeder andere Explorer verfügt es über eine Brieftasche zum Verwalten von Assets und DApps für die Navigation im Netzwerk und verwaltet intelligente Verträge in der TRX-Blockchain.
Die Tron-Kette ist mit dem TronWallet verbunden, das mehrere andere Token verwalten kann. Benutzer, die Konten auf beiden Plattformen haben, können also ausgewogene Dienste genießen.
So senden Sie Krypto mit Tron Chain
Die Eröffnung eines TRONSCAN-Kontos ist sehr einfach. Sie müssen eine Brieftasche für dieses Konto erstellen, bevor Sie ein Konto eröffnen. Das erstellte Konto ermöglicht eine erhöhte Kompatibilität mit TRONSCAN.
Sie müssen ein Passwort erstellen und einen privaten verschlüsselten Schlüssel herunterladen, mit dem Sie auf Ihre Brieftasche zugreifen. Sobald diese abgeschlossen sind, können Sie Transaktionen auf TRONSCAN starten.
Die Durchführung von Transaktionen auf TRONSCAN ist einfach. Nachdem Sie sich bei Ihrem Konto angemeldet haben, klicken Sie wie unten gezeigt auf „Wallet verknüpfen“ und dann auf „Wallet importieren“.
Sie klicken dann auf „Senden“ und es erscheint ein Feld, in dem Sie nach den Einzelheiten der Transaktion gefragt werden.
Sobald Sie die Daten korrekt eingegeben haben, können Sie die Transaktion bestätigen.
Die Transaktion auf TRONSCAN wird durch den Erwerb eines Ledgers sicherer, bei dem es sich im Wesentlichen um ein Hardwaregerät handelt, das mit Ihrem TRONSCAN verbunden ist. Die Verwendung von Ledger erfordert eine zusätzliche Bestätigung während der Durchführung von Transaktionen, wodurch die Sicherheit eines Kontos erhöht wird.
Weiterlesen : SolScan | So verwenden Sie SolScan. Solanas Leitfaden für Anfänger
Ich hoffe, dieser Beitrag wird Ihnen helfen. Vergessen Sie nicht, ein Like zu hinterlassen, zu kommentieren und es mit anderen zu teilen. Danke!
1650408000
In diesem Beitrag erfahren Sie, was TRONSCAN ist und wie Sie TRONSCAN verwenden
TRONSCAN ist der erste TRON-basierte Blockchain-Explorer, der es Benutzern ermöglicht, Transaktionen auf der TRON-Blockchain nachzuschlagen, zu bestätigen und zu validieren. Inzwischen verfügt TRONSCAN nicht nur über die grundlegenden Funktionen als Blockchain-Explorer, wie das Nachschlagen von Transaktionen, Konten, Blöcken, Knoten, Smart Contracts und On-Chain-Daten, sondern unterstützt auch die Token-Erstellung, Vertragsbereitstellung, Abstimmung usw.
Die TRON-Blockchain verfügt über ein öffentliches Hauptbuch, aus dem TRONSCAN Informationen abruft und auf unserer Website anzeigt. Es ist unsere Mission, die Transparenz von Blockchains zu fördern, indem wir alle Transaktionen auf der TRON-Blockchain auf die transparenteste und zugänglichste Weise abrufen und durchsuchen.
1. Wie erstelle ich eine Brieftasche auf TRONSCAN?
2. Wie melde ich mich mit der Keystore-Datei bei TRONSCAN an?
3. Wie melde ich mich mit einem privaten Schlüssel bei TRONSCAN an?
4. Wie sende ich Tokens auf TRONSCAN?
5. Wie erhalte ich Token auf TRONSCAN?
6. Wie erhält man Bandbreite und Energie?
7. Wie wählt man Superrepräsentanten?
Hinweis: Ihre Stimmen werden wirksam, wenn der nächste Abstimmungszyklus beginnt. Sie können Ihre Stimmen vor dem nächsten Abstimmungszyklus jederzeit neu verteilen.
8. Wie taue ich TRX auf?
Hinweis: TRX Nr. 1 können aufgetaut werden, nachdem sie drei Tage lang eingefroren wurden. Abhängig von den verschiedenen Arten der durch das Einfrieren gewonnenen Ressourcen kann TRX in separaten Chargen aufgetaut werden, solange alle für denselben Zweck eingefrorenen TRX mindestens drei Tage lang eingefroren wurden.
Nr. 2 Nach dem Auftauen werden die durch das Einfrieren von TRX erhaltenen Ressourcen (TP, Bandbreite/Energie usw.) gelöscht.
Nr. 3 Nach dem Auftauen werden TPs, die zur Abstimmung verwendet wurden, ebenfalls entfernt, und Sie müssen den TRX erneut einfrieren und den TP dazu bringen, erneut abzustimmen, um sicherzustellen, dass Ihre Stimmrechte nicht beeinträchtigt werden.
So wie viele Krypto-Token bereits über dezentrale Wallet-Systeme zum Verwalten und Staking von Vermögenswerten verfügen, hat TRON bereits ein eigenes Hardware-Software-System entwickelt; TRONSCAN mit Ledger-Gerät.
TRONSCAN ist der offizielle Explorer der öffentlichen Smart-Contract-Blockchain von TRX. Wie jeder andere Explorer verfügt es über eine Brieftasche zum Verwalten von Assets und DApps für die Navigation im Netzwerk und verwaltet intelligente Verträge in der TRX-Blockchain.
Die Tron-Kette ist mit dem TronWallet verbunden, das mehrere andere Token verwalten kann. Benutzer, die Konten auf beiden Plattformen haben, können also ausgewogene Dienste genießen.
So senden Sie Krypto mit Tron Chain
Die Eröffnung eines TRONSCAN-Kontos ist sehr einfach. Sie müssen eine Brieftasche für dieses Konto erstellen, bevor Sie ein Konto eröffnen. Das erstellte Konto ermöglicht eine erhöhte Kompatibilität mit TRONSCAN.
Sie müssen ein Passwort erstellen und einen privaten verschlüsselten Schlüssel herunterladen, mit dem Sie auf Ihre Brieftasche zugreifen. Sobald diese abgeschlossen sind, können Sie Transaktionen auf TRONSCAN starten.
Die Durchführung von Transaktionen auf TRONSCAN ist einfach. Nachdem Sie sich bei Ihrem Konto angemeldet haben, klicken Sie wie unten gezeigt auf „Wallet verknüpfen“ und dann auf „Wallet importieren“.
Sie klicken dann auf „Senden“ und es erscheint ein Feld, in dem Sie nach den Einzelheiten der Transaktion gefragt werden.
Sobald Sie die Daten korrekt eingegeben haben, können Sie die Transaktion bestätigen.
Die Transaktion auf TRONSCAN wird durch den Erwerb eines Ledgers sicherer, bei dem es sich im Wesentlichen um ein Hardwaregerät handelt, das mit Ihrem TRONSCAN verbunden ist. Die Verwendung von Ledger erfordert eine zusätzliche Bestätigung während der Durchführung von Transaktionen, wodurch die Sicherheit eines Kontos erhöht wird.
Weiterlesen : SolScan | So verwenden Sie SolScan. Solanas Leitfaden für Anfänger
Ich hoffe, dieser Beitrag wird Ihnen helfen. Vergessen Sie nicht, ein Like zu hinterlassen, zu kommentieren und es mit anderen zu teilen. Danke!
1646562550
Um Angular mit Laravel zu verwenden, können Sie eine Frontend-Schnittstelle in Angular und eine Backend-API in Laravel mit MySQL- oder NoSQL-Datenbanken erstellen. Wir bauen eine Angular Application-Frontend-Schnittstelle und rufen dann eine API auf, um die Daten zu speichern. Dies ist nur eine einfache Anwendung zur Aufbewahrung von Gegenständen, die Angular und Laravel verwendet.
Zuerst richten wir ein Angular-Projekt auf der Client-Seite ein. Dafür können Sie für unsere Anwendung eckiges-cli für Boilerplate verwenden.
Zuerst müssen wir Angular CLI global installieren. Geben Sie also den folgenden Befehl ein.
npm install -g @angular/cli
Okay, jetzt müssen wir ein Projekt erstellen; nennen wir es ng4tutorial.
Geben Sie den folgenden Befehl in Ihr Terminal ein.
ng new ng4tutorial
Es erstellt Dateien und Ordner und installiert alle Front-End-Abhängigkeiten.
Geben Sie nach der Installation den folgenden Befehl ein.
cd ng4tutorial
ng serve --open
Angular ist modular. Alle Komponentendateien befinden sich im Ordner src >> app .
Wir verwenden Bootstrap CSS Framework , um unser Formular zu entwerfen. Also habe ich die Bootstrap-CSS-Datei im src >> Assets - Verzeichnis namens app.css -Datei heruntergeladen.
Unsere index.html -Datei sieht so aus.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Ng4app</title>
<base href="/">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="/assets/app.css" rel="stylesheet">
</head>
<body>
<app-root></app-root>
</body>
</html>
Alle öffentlichen statischen Dateien werden aus dem Ordner „ Assets “ bereitgestellt.
Um das Formular zu erstellen, müssen wir die Datei app.component.html ändern . Diese Datei befindet sich im Verzeichnis src >> app .
<!--The whole content below can be removed with the new code.-->
<div class="container">
<h1>
Welcome to {{title}}!!
</h1>
<hr />
<form>
<div class="form-group">
<label for="name">Item Name:</label>
<input type="text" class="form-control">
</div>
<div class="form-group">
<label for="price">Item Price:</label>
<input type="text" class="form-control">
</div>
<button type="submit" class="btn btn-primary">Add</button>
</form>
</div>
Unsere app.component.ts -Datei sieht so aus.
// app.component.ts
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
title = 'Laravel Angular 4 App';
}
Unser Formular sieht so aus.
Zuerst müssen wir zwei Module in die Datei app.module.ts importieren .
Und diese Module sind auch im Import -Array enthalten. Unsere Datei src >> app >> app.module.ts sieht also so aus.
// app.module.ts
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { HttpModule } from '@angular/http';
import { AppComponent } from './app.component';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule, FormsModule, HttpModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
Jetzt müssen wir das Angular Form Object in unser HTML einfügen. Unser endgültiger Code von app.component.ts sieht so aus.
// app.component.ts
<div class="container">
<h1>
Welcome to {{title}}!!
</h1>
<hr />
<form (ngSubmit)="onSubmit(fm)" #fm="ngForm">
<div class="form-group">
<label for="name">Item Name:</label>
<input type="text" class="form-control" ngModel name="name">
</div>
<div class="form-group">
<label for="price">Item Price:</label>
<input type="text" class="form-control" ngModel name="price">
</div>
<button type="submit" class="btn btn-primary">Add</button>
</form>
</div>
Wir haben dem Eingabefeld ein Attribut namens „ ngModel “ hinzugefügt. Dieses Attribut gibt an, wie viele Werte das HTML-Formular enthält. Zuerst erstellt es also ein Objekt, und später, nachdem es gesendet wurde, können wir darauf zugreifen und die Werte abrufen.
<form (ngSubmit)="onSubmit(fm)" #fm="ngForm">
Auf diese Weise wird AngularJS mitgeteilt, dass es ein Objekt erstellen muss, das das gesamte Formularelement und seine Werte beschreibt.
Nach dem Drücken der Submit-Taste wird die Funktion onSubmit() aufgerufen, und damit können wir alle Werte des Formulars abrufen.
// app.component.ts
import { Component } from '@angular/core';
import { Item } from './Item';
import { NgForm } from '@angular/forms';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
title = 'Laravel Angular 4 App';
onSubmit(form: NgForm){
console.log(form.value);
}
}
Hier erhalten wir mit der Funktion onSubmit() alle Formularwerte. Jetzt können wir die POST-Anfrage an den Laravel- Server senden.
Der nächste Schritt wäre, den HTTP-Dienst aufzurufen , um die POST - Anforderung zu verarbeiten.
Zuerst müssen wir zwei Module in die Datei app.component.ts importieren .
import { Http, Headers } from '@angular/http';
import 'rxjs/add/operator/toPromise';
Der nächste Schritt wäre, diesen Dienst anzurufen. Dies ist mein vollständiger Code der Datei app.component.ts .
// app.component.ts
import { Component, Injectable } from '@angular/core';
import { Item } from './Item';
import { NgForm } from '@angular/forms';
import { Http, Headers } from '@angular/http';
import 'rxjs/add/operator/toPromise';
@Injectable()
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
constructor(private _http: Http){}
private headers = new Headers({'Content-Type': 'application/json'});
title = 'Laravel Angular 4 App';
onSubmit(form: NgForm): Promise <Item>{
return this._http.post('http://127.0.0.1:8000/api/items', JSON.stringify(form.value), {headers: this.headers})
.toPromise()
.then(res => res.json().data)
.catch(this.handleError);
}
private handleError(error: any): Promise<any> {
console.error('An error occurred', error); // for demo purposes only
return Promise.reject(error.message || error);
}
}
Ich habe Promise und Observables verwendet. Ich habe es auch auf der Oberseite importiert.
Erstellen Sie ein Laravel-Projekt, indem Sie den folgenden Befehl eingeben.
composer create-project laravel/laravel --prefer-dist ng4Laravel55
Bearbeiten Sie die . env -Datei, um die Anmeldeinformationen für die MySQL-Datenbank festzulegen.
Wechseln Sie als Nächstes zu Ihrer Befehlszeilenschnittstelle und geben Sie den folgenden Befehl ein.
php artisan make:model Item -m
Bitte navigieren Sie zur Migrationsdatei in der Datenbank >> Migrationen >> create_items_table und kopieren Sie den folgenden Code hinein.
<?php
// create_items_table
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateItemsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('items', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->integer('price');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('items');
}
}
Geben Sie den folgenden Befehl in Ihr Terminal ein.
php artisan migrate
Erstellen Sie einen Controller namens ItemController.
php artisan make:controller ItemController
Registrieren Sie die Routen in der Datei routes >> api.php .
Route::post('items', 'ItemController@store');
Im Item.php- Modell müssen wir die $fillable- Eigenschaft einschließen, um die Massenzuweisungsausnahmen zu verhindern.
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Item extends Model
{
protected $fillable = ['name', 'price'];
}
Schreiben Sie die Speicherfunktion in die Datei ItemController.php , um die Daten in der Datenbank zu speichern.
<?php
// ItemController.php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Item;
class ItemController extends Controller
{
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
$item = new Item([
'name' => $request->get('name'),
'price' => $request->get('price')
]);
$item->save();
return response()->json('Successfully added');
}
}
Starten Sie den Laravel-Entwicklungsserver, indem Sie den folgenden Befehl eingeben.
php artisan serve
Laden Sie das folgende Laravel-spezifische CORS-Paket herunter, um dieses Problem zu vermeiden, und befolgen Sie die Schritte.
composer require barryvdh/laravel-cors
Fügen Sie zuerst Cors\ServiceProvider zum Array Ihres Anbieters hinzu.
Barryvdh\Cors\ServiceProvider::class,
Um CORS für alle Ihre Routen zuzulassen, fügen Sie die HandleCors
Middleware in der $middleware
Eigenschaft der app/Http/Kernel.php
Klasse hinzu:
protected $middleware = [
// ...
\Barryvdh\Cors\HandleCors::class,
];
Sie können die Konfiguration mit diesem Befehl veröffentlichen:
php artisan vendor:publish --provider="Barryvdh\Cors\ServiceProvider"
Versuchen Sie es jetzt erneut; Es speichert die Daten in der Datenbank. Ich habe die Umleitung nach dem Speichern der Daten nicht gesetzt, werde sie aber kurz setzen, während Sie die Datenbankwerte überprüfen.
Dies ist das primäre Beispiel des Laravel Angular Example.
1644231378
Scalable Vector Graphics (SVG) ist eine XML-ähnliche Syntax, die zum Anzeigen von Vektorgrafiken oder Bildern in einem Browser verwendet wird. Von SVG erzeugte Vektorgrafiken können bis zum Maximum skaliert oder gezoomt werden, ohne dass sie gerastert werden oder an Qualität verlieren. Der interessanteste Aspekt ist, dass SVG von allen gängigen Browsern unterstützt wird. In dieser Anleitung erfahren Sie, wie Sie Grafiken (insbesondere das Mastercard-Logo) und Formen mit SVG zeichnen und SVG-Grafiken zu Ihrer React-App hinzufügen.
Wenn Sie mit HTML oder XML vertraut sind, sollte die Verwendung der SVG-Syntax recht einfach zu verstehen sein. Das Schreiben von SVG-Elementen basiert auf zwei strengen Richtlinien:
<rect width="100%" fill="purple" ...../>
2. Bei SVG-Elementen und -Attributen wird die Groß-/Kleinschreibung beachtet, daher ist das Ändern der Groß-/Kleinschreibung eines Elements oder Attributs ungültiges SVG.
/ Drawing a rectangle
<rect width="100%" fill="purple" ...../>
// NOT
<RECT WIDTH="100%" FILL="ORANGE"../>
Wie bereits erwähnt, lernen Sie, wie Sie das Mastercard-Logo mit SVG zeichnen. <svg/>
Jedes SVG-Element wird um ein Tag mit einer Version und der Größe der Zeichenfläche gewickelt .
<svg version="1.1" baseProfile="full"
width="400" height="250"
xlmns="http://www/w3/org/2000/svg">
// Content Here
</svg>
Fügen Sie als Nächstes ein Rechteck mit schwarzem Hintergrund hinzu.
<svg version="1.1" baseProfile="full"
width="400" height="250"
xlmns="http://www/w3/org/2000/svg">
<rect width="100%" height="100%" fill="black"></rect>
</svg>
Fügen Sie die beiden sich schneidenden Kreise hinzu.
<svg version="1.1" baseProfile="full"
width="400" height="250"
xlmns="http://www/w3/org/2000/svg">
<circle cx="150" cy="100" r="80" fill="red"></circle>
<circle cx="256" cy="100" r="80" fill="orange"></circle>
</svg>
Das r
Attribut bezieht sich auf den Radius des Kreises.
cx
und cy
beziehen sich auf die Position des Elements auf den x- und y-Koordinaten des Kreises.
Schließlich fügen Sie Ihrem Logo etwas Text hinzu.
<svg version="1.1" baseProfile="full"
width="400" height="250"
xlmns="http://www/w3/org/2000/svg">
<circle cx="150" cy="100" r="80" fill="red"></circle>
<circle cx="256" cy="100" r="80" fill="orange"></circle>
<text x="200" y="219" font-size="20" text-anchor="middle" fill="white">MasterCard</text>
</svg>
Um zu sehen, wie das aussieht, erstellen Sie eine HTML-Datei und öffnen Sie sie in Ihrem Browser. Du bist ein Genie! Versuchen Sie, die Attribute weiter zu optimieren, um besser zu verstehen, was sie tun.
Nachdem Sie nun ein erstklassiges SVG-Logo haben, richten Sie Ihre React-App ein, indem Sie Folgendes in Ihr Terminal eingeben.
npx create-react-app <YOUR_APP_NAME>
Sie können auch https://react.new besuchen , um eine vollständig konfigurierte React-Umgebung auf codesandbox.io zu erhalten .
Das Rendern eines SVG-Elements ist mit der Create React App sehr einfach. Erstellen Sie dazu eine SVG-Datei, die das von Ihnen erstellte Logo enthält, und speichern Sie sie. In diesem Handbuch gehe ich davon aus, dass Sie es in svg/ gespeichert haben.
Importieren Sie es als Nächstes wie unten gezeigt in Ihre App.
import React from 'react';
import { ReactComponent as MyLogo } from './assets/logo.svg';
function App(){
return(
<div>
<MyLogo/>
</div>
);
}
In diesem Leitfaden haben Sie gelernt, wie Sie ein SVG-Element erstellen und es einer React-App hinzufügen. SVG geht weit über das Erstellen einfacher Formen hinaus. Sie können mehr Dinge tun, einschließlich Farbverläufe und Animationen.
1641822384
TypeScript Interface ist ein syntaktischer Vertrag, den eine Entität einhalten sollte. Die Schnittstelle ist eine Struktur, die den Vertrag in Ihrer Anwendung definiert. Es beschreibt die Syntax für die folgenden Klassen. Klassen, die von der Schnittstelle abgeleitet werden, müssen der von ihrer Schnittstelle bereitgestellten Struktur folgen.
Eine Schnittstelle wird mit einem Schlüsselwort interface definiert und kann Eigenschaften und Methodendeklarationen mit der Funktion oder einer Pfeilfunktion enthalten.
Der TypeScript-Compiler konvertiert eine Schnittstelle nicht in JavaScript. Es verwendet eine Schnittstelle zur Typprüfung. Dies wird auch als „ Ententypisierung“ oder „ strukturelle Subtypisierung“ bezeichnet .
Das Schlüsselwort interface wird verwendet, um eine Schnittstelle zu deklarieren. Siehe die folgende Syntax.
interface interface_name {
}
// app.ts
interface NDark {
firstName: string,
lastName: string,
timeTravel: () => string
}
let jonas: NDark = {
firstName: "Jonas",
lastName: "Kanwald",
timeTravel: (): string => { return "Sic Mundus Creatus est" }
}
console.log(jonas.firstName)
console.log(jonas.lastName)
console.log(jonas.timeTravel())
Das Beispiel definiert eine Schnittstelle. Das Jonas-Objekt ist vom Typ NDark . Daher ist es nun für das Objekt bindend, alle Eigenschaften wie von der Schnittstelle angegeben zu definieren.
Ein anderes Objekt mit der folgenden Signatur wird immer noch als NDark betrachtet, da seine Größe oder Signatur dieses Objekt behandelt.
Im obigen Beispiel enthält die NDark-Schnittstelle zwei Eigenschaften firstName und lastName. Es besteht auch aus einer Methodendeklaration timeTravel()
mit einer Pfeilfunktion mit einem String-Rückgabetyp. Das bedeutet, dass jedes Objekt vom Typ NDark die beiden Eigenschaften und eine Methode definieren muss.
Kompilieren Sie nun die Datei app.ts.
tsc app.ts
Beim Kompilieren wird der folgende JavaScript-Code generiert.
// app.js
var jonas = {
firstName: "Jonas",
lastName: "Kanwald",
timeTravel: function () { return "Sic Mundus Creatus est"; }
};
console.log(jonas.firstName);
console.log(jonas.lastName);
console.log(jonas.timeTravel());
Jonas
Kanwald
Sic Mundus Creatus est
Die Object-Klasse repräsentiert einen der Datentypen von JavaScript. Es wird verwendet, um verschiedene Schlüsselsammlungen und komplexere Entitäten zu speichern. Objekte können mit dem Object()-Konstruktor oder dem Objektinitialisierer/Literal-Syntax erstellt werden.
Betrachten wir ein Objekt.
var jonas = {
firstName: "Jonas",
lastName: "Kanwald",
timeTravel: function () { return "Sic Mundus Creatus est"; }
};
Wenn wir die Signatur des Objekts betrachten, könnte dies Folgendes sein.
{
firstName: string,
lastName: string,
timeTrave() => string
};
Um die Signatur über verschiedene Objekte hinweg wiederzuverwenden, können wir sie als Schnittstelle definieren.
Mit dem TypeScript Interface kann ein Typ definiert und auch in der Klasse implementiert werden.
Lassen Sie uns eine Schnittstelle definieren, die einen Wörterbuchtyp mit Schlüssel-Wert-Paaren hat.
// app.ts
interface KeyPair {
key: number;
value: string;
}
let kp1: KeyPair = { key: 11, value: "Millie" }; // OK
let kp2: KeyPair = { key: 11, val: "Millie" }; // Compiler Error: 'val' doesn't exist in type 'KeyPair'
let kp3: KeyPair = { key: 11, value: 1888 }; // Compiler Error:
Im obigen Code enthält die Schnittstelle KeyPair die beiden Eigenschaften key und value. Eine Variable kp1 wird als KeyPair-Typ deklariert.
Es muss also der gleichen Datenstruktur wie KeyPair folgen. Das bedeutet, dass einer Variablen kp1 nur das Objekt mit den Eigenschaften key vom Typ Zahl und Wert vom Typ Zeichenfolge zugewiesen werden kann .
Der TypeScript-Compiler zeigt den Fehler an, wenn sich der Name der Eigenschaften ändert oder der Datentyp sich von KeyPair unterscheidet.
Eine andere Variable kp2 ist ebenfalls als KeyPair-Typ deklariert, aber der zugewiesene Wert ist val anstelle von value, sodass dies den Fehler verursacht.
Ebenso weist kp3 der value-Eigenschaft eine Zahl zu, damit der Compiler den Fehler anzeigt .
Daher verwendet TypeScript eine Schnittstelle, um die richtige Struktur eines Objekts sicherzustellen.
Um einen Array-Typ Interface zu definieren, müssen Sie den Typ des Index sowie die Werte definieren.
// app.ts
interface INumArray {
[index: number]: number
}
let numArr: INumArray = [1, 2, 3]
console.log(numArr)
tsc app.ts
node app
[ 1, 2, 3 ]
Im obigen Beispiel definiert die Schnittstelle INumArray einen Array-Typ mit Index als Zahl und Wert als Zahltyp.
Der folgende Code zeigt die Verwendung von Union Type und Interface.
// app.ts
interface match {
team: string;
data: string[] | string | (() => string);
}
//data as string
var options: match = { team: "KylieCostmetics", data: "Kylie" };
console.log(options.data)
//data as a string array
options = { team: "KylieCostmetics", data: ["Kylie", "Jenner"] };
console.log(options.data[0]);
console.log(options.data[1]);
//data as a function expression
options = { team: "KylieCostmetics", data: () => { return "**Kylie Jenner**"; } };
var fn: any = options.data;
console.log(fn());
➜ tsc app.ts
➜ node app
Kylie
Kylie
Jenner
**Kylie Jenner**
Andere Schnittstellen können eine Schnittstelle erweitern. Mit anderen Worten, die Schnittstelle kann von anderen Schnittstellen erben. Typescript ermöglicht es der Schnittstelle, von mehreren Schnittstellen zu erben.
Sie können das Schlüsselwort extended verwenden, um die Vererbung zwischen Schnittstellen zu implementieren.
// app.ts
interface IDark {
name: string
}
interface IMartha extends IDark {
instrument: string
}
var tt = <IMartha>{};
tt.name = "Jonas"
tt.instrument = "Time Clock"
console.log("name: " + tt.name)
console.log("Instrument: " + tt.instrument)
➜ tsc app.ts
➜ node app
name: Jonas
Instrument: Time Clock
Wir können Mehrfachvererbung in TypeScript unterstützen.
Bei der Mehrfachvererbung gibt es mehr als eine Basisklasse und eine einzelne abgeleitete Klasse. In unserem Fall handelt es sich um eine Schnittstelle, also gibt es mehr als eine übergeordnete Schnittstelle und eine einzige untergeordnete Schnittstelle.
// app.ts
interface IDark {
name1: string
}
interface IStrangerThings {
name2: string
}
interface ISciencFi extends IDark, IStrangerThings { }
var Iobj: ISciencFi = { name1: 'Martha', name2: 'Eleven' }
console.log(`value 1 is ${Iobj.name1} and value 2 is ${Iobj.name2}`)
➜ tsc app.ts
➜ node app
value 1 is Martha and value 2 is Eleven
Das Objekt Iobj ist vom Typ Interface IScienceFi. Die Schnittstelle IScienceFi hat nun aufgrund der Vererbung zwei Attribute: name1 bzw. name2. Daher muss das Objekt Iobj nun diese Eigenschaften enthalten.
Wir können optionale Eigenschaften in der Schnittstelle haben.
Um optionale Eigenschaften zu definieren, müssen Sie jede Eigenschaft mit einem „ ?“ markieren. . In solchen Fällen können Objekte einer Schnittstelle diese Eigenschaften definieren oder nicht.
// app.ts
interface INetflix {
series: string;
seasons: number;
lead?: string;
}
let show1: INetflix = {
series: 'Stranger Things',
seasons: 3,
lead: 'Millie Bobby Brown'
}
console.log(show1)
let show2: INetflix = {
series: 'Dark',
seasons: 3,
}
console.log(show2)
➜ tsc app.ts
➜ node app
{ series: 'Stranger Things', seasons: 3, lead: 'Millie Bobby Brown' }
{ series: 'Dark', seasons: 3 }
In diesem Beispiel haben wir eine Schnittstelle namens INeflix definiert.
Die INeflix-Schnittstelle akzeptiert zwei erforderliche Eigenschaften und eine optionale Eigenschaft.
Serien und Jahreszeiten sind erforderliche Eigenschaften, und der Lead ist ein optionaler Parameter.
Im obigen Beispiel ist die Lead-Eigenschaft mit ? , daher können Objekte von INeflix diese Eigenschaft enthalten oder nicht.
Dann haben wir zwei Objekte aus dem Interface namens show1 und show2 erstellt .
In show1- Objekt haben wir die Lead-Eigenschaft eingeschlossen, und in show2- Objekt haben wir die Lead- Eigenschaft nicht eingeschlossen . Wenn Sie die Datei kompilieren und ausführen, erhalten Sie jedoch keine Fehlermeldung.
TypeScript bietet eine Möglichkeit, eine Eigenschaft als schreibgeschützt zu markieren. Das bedeutet, dass einer einmal zugewiesenen Eigenschaft ein Wert nicht mehr geändert werden kann!
Siehe den folgenden Code.
// app.ts
interface IDark {
name: string;
readonly year: number
}
let IObj: IDark = {
name: 'Jonas',
year: 2020
}
console.log(IObj.name)
console.log(IObj.year)
// Try to modify the property values
IObj.name = 'Martha';
IObj.year = 1888
console.log(IObj.name)
console.log(IObj.year)
tsc app.ts
app.ts:16:6 - error TS2540: Cannot assign to 'year' because it is a read-only property.
16 IObj.year = 1888
~~~~
Found 1 error.
Im obigen Beispiel ist die year
Eigenschaft schreibgeschützt. Wir definieren das IObj
Objekt vom Typ IDark
und weisen den beiden Schnittstelleneigenschaften Werte zu.
Als Nächstes versuchen wir, die beiden Eigenschaften zugewiesenen Werte zu ändern: name
und year
. Der TypeScript-Compiler zeigt den Fehler an, wenn wir versuchen, die schreibgeschützte Year-Eigenschaft zu ändern.
Wenn Sie einen Visual Studio-Code verwenden, wird der Fehler vor der Kompilierung und im Code-Editor angezeigt.
Die TypeScript-Schnittstelle kann mit einer Klasse implementiert werden. Die Klasse, die die Schnittstelle implementiert, muss sich strikt an die Struktur der Schnittstelle halten.
// app.ts
interface IDark {
name: string
year: number
getYear: () => number
}
class Jonas implements IDark {
name: string
year: number
constructor(name: string, year: number) {
this.name = name
this.year = year
}
getYear(): number {
return this.year
}
}
let cycle = new Jonas('Adam', 2053)
console.log(cycle.getYear())
➜ tsc app.ts
➜ node app
2053
Im obigen Beispiel wird das IDark
Interface in der Klasse Jonas mit dem Schlüsselwort implements implementiert .
Die implementierende Klasse sollte die Methoden und Eigenschaften mit demselben Namen und Datentyp strikt definieren.
Wenn die implementierende Klasse nicht der Schnittstellenstruktur folgt, gibt der Compiler einen Fehler aus.
Natürlich kann die implementierende Klasse zusätzliche Funktionen und Eigenschaften definieren, aber sie muss zumindest alle Member der Schnittstelle definieren.
1650343080
In diesem Beitrag erfahren Sie, was SolScan ist. Wie benutzt man SolScan? (Aktualisierung 2022)
Solana ist eine Proof of Stake (PoS)-Blockchain, in der Projektentwickler DApps, Token und Smart Contracts erstellen können. Wie bei jeder anderen aktiven Kette benötigen Benutzer eine intuitive Möglichkeit, auf die Blockchain-Daten zuzugreifen. Ähnlich wie BscScan und EtherScan hat Solana auch einen dedizierten Block-Explorer namens SolScan. Lassen Sie uns die wichtigsten Funktionen und einige grundlegende Tutorials durchgehen.
SolScan ist ein Blockchain-Explorer, der zum Durchsuchen von Informationen in der Solana-Blockchain verwendet wird. Es ist eine beliebte Alternative zum offiziellen Solana Explorer . SolScan verwandelt komplexe Transaktionsdaten in leicht lesbare Daten. Der Block-Explorer bietet Zugriff auf alles, was in der Kette aufgezeichnet wird, einschließlich Krypto-Transaktionen, Adressen, Smart Contracts, Blöcke, Token und mehr. Die Nutzung ist kostenlos und erfordert kein Konto, aber Sie können eines erstellen und sich anmelden, um erweiterte Funktionen zu erhalten.
Hauptfunktion von Solscan
Die Entwickler von Solscan haben das Framework als unabhängige Plattform mit dem Ziel etabliert, Transparenz in der Solana-Blockchain zu ermöglichen. Wie Ethereum verfügt Solana über ein öffentliches Hauptbuch, das von Solscan.io indiziert und dann in dem durchsucht werden kann, was seiner Meinung nach am transparentesten ist.
Solscan.io ist weder ein Wallet-Dienstleister noch eine Handelsplattform. Es erfordert keine Speicherung von persönlichen Schlüsseln. Auf Solana werden keine Transaktionen über Solscan.io getätigt. Es ist nicht verantwortlich für ungelöste Transaktionen in der Blockchain. Es ist hauptsächlich auf Transparenz ausgelegt.
Die Verwendung eines Blockchain-Explorers ist für alle, die mit einem Netzwerk Geschäfte tätigen, unerlässlich. Wenn Sie sich nicht sicher sind, wohin Ihre eingesetzten Gelder gegangen sind, oder vielleicht noch eine Transaktion aussteht, können Sie SolScan verwenden, um herauszufinden, was passiert ist. Alle Informationen zu SolScan stammen direkt aus der Solana-Blockchain, sodass Sie sicher sein können, dass sie korrekt sind. Die Verwendung von SolScan oder einem beliebigen Blockchain-Explorer hilft Ihnen, die Mechanismen von DApps, mit denen Sie interagieren, und die von Ihnen getätigten Transaktionen zu verstehen.
SolScan verwendet dasselbe Format wie EtherScan, wodurch es einfacher zu verstehen ist. Viele Benutzer ziehen sein Layout dem offiziellen Explorer von Solana vor. Die Nutzung ist kostenlos und enthält mehrere nützliche Tools, Listen und Analysediagramme. Der Explorer enthält auch eine Reihe öffentlicher APIs, die Echtzeitdaten von SolScan in benutzerdefinierte Anwendungen und Tools von Drittanbietern nutzen können.
Eine der meistgenutzten Funktionen von SolScan ist die Suchfunktion für Transaktionen und Adressen. Mit dem richtigen Hash können Sie schnell auf eine große Menge an Informationen zugreifen. Dazu gehören Transaktionsgebühren, Bestätigungen, Zeitstempel, beteiligte Adressen und mehr.
1. Transaktionen
5JLcGJQfZjEEuh1bSDqyw2iEfLuFRoYRJY1paoSwrZC8c8zZFW3VqvxsJgjW3bsUjTrpEUDEtvs83PxsuR6hUWqz
Unterschrift | Eine alphanumerische Zeichenfolge, die jeder Transaktion eindeutig zugeordnet ist. Es ist eine Kennung, die dem Transaktions-Hash oder der TxID von Ethereum ähnelt. |
Block | Die Blocknummer, in der Ihre Transaktion verarbeitet wurde. Diese Nummern sind fortlaufend und geben die Platzierung Ihrer Transaktion im Verlauf der Blockchain an. |
Zeitstempel | Der Zeitstempel, der dem Block zugeordnet ist, in dem Ihre Transaktion verarbeitet wurde. |
Ergebnis | Der Bestätigungsstatus der Transaktion. |
Schild | Die Wallet-Adresse, die die Transaktion initiiert hat. |
Gebühr | Die für die Transaktion gezahlte Gebühr. |
Hauptaktionen | Eine Übersicht über die mit der Transaktion verbundenen Aktivitäten. |
Vorheriger Block-Hash | Der alphanumerische Hash zur Identifizierung des vorherigen Blocks. |
Anweisungsdetails | Ein detailliertes Protokoll der Aktionen der Transaktion. |
Programmprotokoll | Ein detailliertes Protokoll der Ergebnisse der Anweisungen/Aktionen. |
2. Adressen
Eine ähnliche Methode kann verwendet werden, um mehr über eine einzelne Adresse zu erfahren. Sie können dann einen detaillierten Verlauf der Aktivitäten der Adresse überprüfen. Dies kann Ihnen einen Überblick über die Transaktionen und Smart-Contract-Interaktionen einer bestimmten Brieftasche geben.
138KHwTqKNWGLoo8fK5i8UxYtwoC5tC8o7M9rY1CDEjT
Tokens sind auf SolScan leicht verifizierbar und Sie können eine vollständige Anzeige ihrer Details erhalten. Sie müssen nur:
Die Token-Adresse sieht folgendermaßen aus:
9n4nbM75f5Ui33ZbPYXn59EwSgE8CGsHtAeTH5YFeJ9E
Vollständig verwässerte Marktkapitalisierung | Dies ist das maximale Gesamtangebot multipliziert mit dem aktuellen Preis des Tokens. Es wird als verwässert bezeichnet, weil es auch gesperrte Token enthält. |
Maximales Gesamtangebot | Die Gesamtzahl der Token, die jemals für eine bestimmte Kryptowährung existieren werden, unabhängig davon, ob sie zuvor abgebaut oder in Zukunft ausgegeben wurden. |
Halter | Die Anzahl der Adressen, die das Token enthalten. |
Soziale Kanäle | Links zu den offiziellen Social-Media-Kanälen des Tokens. |
Token-Name | Name und Ticker des Tokens im Format: [Tokenname (TICKER)]. |
Token-Adresse | Eindeutige alphanumerische Adresse, die jedem Token als Kennung zugewiesen wird. |
Eigentümerprogramm | Ein Klassentyp und eine eindeutige ID, die das spezifische Eigentümerprogramm angeben, das für das Lesen und Schreiben von Daten in die Blockchain verantwortlich ist. |
Behörde | Das Konto (normalerweise Multi-Signatur), das berechtigt ist, Transaktionen innerhalb des Netzwerks zu validieren. |
Dezimalstellen | Wie teilbar ein einzelner Token ist (die Anzahl der zulässigen Dezimalstellen). |
Stichworte | Beschreibende Tags, die verwendet werden, um die Art des Tokens anzugeben. Es kann verwendet werden, um ähnlich kategorisierte Token zu finden. |
Transaktionen | Eine vollständige und sequentiell geordnete Liste aller Token-Transaktionen. |
Halter | Eine vollständige Liste aller Konten, die den Token halten, geordnet nach der gehaltenen Gesamtmenge und dem prozentualen Anteil. |
Analyse | Diagramme zur Token-Verteilung und Inhabern. |
Märkte | Eine Liste aller bekannten Märkte und Paare, die den Token unterstützen. |
1. Einige der größten DEXs im Solana-Ökosystem haben Dashboards, die in den Solana-Block-Explorer integriert sind. Sie finden sie schnell unter dem Reiter [Defi].
Ich hoffe, dieser Beitrag wird Ihnen helfen. Vergessen Sie nicht, ein Like zu hinterlassen, zu kommentieren und es mit anderen zu teilen. Danke!
Top-Börsen für den Token-Coin-Handel. Befolgen Sie die Anweisungen und verdienen Sie unbegrenzt Geld
☞ Binance ☞ Poloniex ☞ Bitfinex ☞ Huobi ☞ MXC ☞ ProBIT ☞ Gate.io ☞ Coinbase