Mulai cepat: Pustaka klien Azure Confidential Ledger untuk .NET

Mulai menggunakan pustaka klien Azure Confidential Ledger untuk .NET. Azure Confidential Ledger adalah layanan baru dan sangat aman untuk mengelola rekaman data sensitif. Berdasarkan model blockchain yang izinkan, Confidential Ledger menawarkan keunggulan integritas data yang unik. Keunggulan tersebut termasuk imutabilitas, membuat ledger menjadi tambahan saja, dan tak bisa diubah, untuk memastikan semua catatan tetap utuh.

Dalam mulai cepat ini, Anda mempelajari cara membuat entri dalam Azure Confidential Ledger menggunakan pustaka klien .NET

Sumber daya pustaka klien Azure Confidential Ledger:

Dokumentasi referensi API | Kode sumber pustaka | Paket (NuGet)

Prasyarat

Anda juga akan memerlukan Confidential Ledger yang sedang berjalan, dan pengguna terdaftar dengan Administrator hak istimewa. Anda dapat membuat confidential ledger (dan administrator) menggunakan portal Azure, Azure CLI, atau Azure PowerShell.

Siapkan

Buat aplikasi konsol .NET baru

  1. Di shell perintah, jalankan perintah berikut untuk membuat proyek bernama acl-app:

    dotnet new console --name acl-app
    
  2. Ubah ke direktori acl-app yang baru dibuat, dan jalankan perintah berikut untuk membangun proyek:

    dotnet build
    

    Output build tidak boleh berisi peringatan atau kesalahan.

    Build succeeded.
     0 Warning(s)
     0 Error(s)
    

Menginstal paket

Instal pustaka klien Confidential Ledger untuk .NET dengan [NuGet][client_nuget_package]:

dotnet add package Azure.Security.ConfidentialLedger --version 1.0.0

Untuk mulai cepat ini, Anda juga perlu menginstal pustaka klien Azure SDK untuk Azure Identity:

dotnet add package Azure.Identity

Model objek

Pustaka klien Azure Confidential Ledger untuk .NET memungkinkan Anda membuat entri ledger yang tidak dapat diubah dalam layanan. Bagian Contoh kode menunjukkan cara membuat tulis ke ledger dan mengambil id transaksi.

Contoh kode

Menambahkan instruksi

Tambahkan arahan berikut di bagian atas Program.cs:

using System;
using Azure.Core;
using Azure.Identity;
using Azure.Security.ConfidentialLedger;
using Azure.Security.ConfidentialLedger.Certificate;

Mengautentikasi dan membuat klien

Dalam mulai cepat ini, pengguna yang masuk digunakan untuk mengautentikasi ke Azure Confidential Ledger, yang merupakan metode pilihan untuk pengembangan lokal. Nama confidential ledger Anda diperluas ke URI brankas kunci, dalam format "https://< your-confidential-ledger-name.confidential-ledger.azure.com>". Contoh ini menggunakan kelas 'DefaultAzureCredential()' dari Pustaka Azure Identity, yang mengizinkan penggunaan kode yang sama di lingkungan yang berbeda dengan opsi yang berbeda untuk memberikan identitas.

credential = DefaultAzureCredential()

Menulis ke Confidential Ledger

Anda sekarang dapat menulis ke Confidential Ledger dengan metode PostLedgerEntry .

Operation postOperation = ledgerClient.PostLedgerEntry(
    waitUntil: WaitUntil.Completed,
    RequestContent.Create(
        new { contents = "Hello world!" }));

Dapatkan ID transaksi

Metode PostLedgerEntry mengembalikan objek yang berisi transaksi entri yang baru saja Anda tulis ke Confidential Ledger. Untuk mendapatkan ID transaksi, akses nilai "Id":

string transactionId = postOperation.Id;
Console.WriteLine($"Appended transaction with Id: {transactionId}");

Membaca dari Confidential Ledger

Dengan ID transaksi, Anda juga dapat membaca dari confidential ledger menggunakan metode GetLedgerEntry :

Response ledgerResponse = ledgerClient.GetLedgerEntry(transactionId, collectionId);

string entryContents = JsonDocument.Parse(ledgerResponse.Content)
    .RootElement
    .GetProperty("entry")
    .GetProperty("contents")
    .GetString();

Console.WriteLine(entryContents);

Menguji dan memverifikasi

Di konsol secara langsung, jalankan perintah berikut untuk menjalankan aplikasi.

dotnet run

Kode sampel

using System;
using Azure.Core;
using Azure.Identity;
using Azure.Security.ConfidentialLedger;
using Azure.Security.ConfidentialLedger.Certificate;
    
namespace acl_app
{
    class Program
    {
        static Task Main(string[] args)
        {

            // Replace with the name of your confidential ledger

            const string ledgerName = "myLedger";
            var ledgerUri = $"https://{ledgerName}.confidential-ledger.azure.com";

            // Create a confidential ledger client using the ledger URI and DefaultAzureCredential

            var ledgerClient = new ConfidentialLedgerClient(new Uri(ledgerUri), new DefaultAzureCredential());

            // Write to the ledger

            Operation postOperation = ledgerClient.PostLedgerEntry(
                waitUntil: WaitUntil.Completed,
                RequestContent.Create(
                    new { contents = "Hello world!" }));
            
            // Access the transaction ID of the ledger write

            string transactionId = postOperation.Id;
            Console.WriteLine($"Appended transaction with Id: {transactionId}");


            // Use the transaction ID to read from the ledger

            Response ledgerResponse = ledgerClient.GetLedgerEntry(transactionId, collectionId);

            string entryContents = JsonDocument.Parse(ledgerResponse.Content)
                .RootElement
                .GetProperty("entry")
                .GetProperty("contents")
                .GetString();

            Console.WriteLine(entryContents);

        }
    }
}

Langkah berikutnya

Untuk mempelajari selengkapnya tentang Azure Confidential Ledger dan cara mengintegrasikannya dengan aplikasi Anda, lihat artikel berikut ini: