mirror of
https://github.com/kaspanet/kaspad.git
synced 2025-03-30 15:08:33 +00:00

This commit moves the example to a test file so it integrates nicely with Go's example tooling. This allows the example output to be tested as a part of running the normal Go tests to help ensure it doesn't get out of date with the code. It is also nice to have the example in one place rather than repeating it in doc.go and README.md. Links and information about the example have been included in README.md in place of the example.
43 lines
1.1 KiB
Go
43 lines
1.1 KiB
Go
// Copyright (c) 2013-2014 Conformal Systems LLC.
|
|
// Use of this source code is governed by an ISC
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package btcdb_test
|
|
|
|
import (
|
|
"fmt"
|
|
"github.com/conformal/btcdb"
|
|
_ "github.com/conformal/btcdb/memdb"
|
|
"github.com/conformal/btcnet"
|
|
"github.com/conformal/btcutil"
|
|
)
|
|
|
|
// This example demonstrates creating a new database and inserting the genesis
|
|
// block into it.
|
|
func ExampleCreateDB() {
|
|
// Create a database and schedule it to be closed on exit. This example
|
|
// uses a memory-only database to avoid needing to write anything to
|
|
// the disk. Typically, you would specify a persistent database driver
|
|
// such as "leveldb" and give it a database name as the second
|
|
// parameter.
|
|
db, err := btcdb.CreateDB("memdb")
|
|
if err != nil {
|
|
fmt.Println(err)
|
|
return
|
|
}
|
|
defer db.Close()
|
|
|
|
// Insert the main network genesis block.
|
|
genesis := btcutil.NewBlock(btcnet.MainNetParams.GenesisBlock)
|
|
newHeight, err := db.InsertBlock(genesis)
|
|
if err != nil {
|
|
fmt.Println(err)
|
|
return
|
|
}
|
|
|
|
fmt.Println("New height:", newHeight)
|
|
|
|
// Output:
|
|
// New height: 0
|
|
}
|