Documentation ¶
Index ¶
Examples ¶
Constants ¶
View Source
const ( // PluginName is the name of the faucet dApp. PluginName = "Faucet" // CfgFaucetSeed defines the base58 encoded seed the faucet uses. CfgFaucetSeed = "faucet.seed" // CfgFaucetTokensPerRequest defines the amount of tokens the faucet should send for each request. CfgFaucetTokensPerRequest = "faucet.tokensPerRequest" // CfgFaucetMaxTransactionBookedAwaitTimeSeconds defines the time to await for the transaction fulfilling a funding request // to become booked in the value layer. CfgFaucetMaxTransactionBookedAwaitTimeSeconds = "faucet.maxTransactionBookedAwaitTimeSeconds" // CfgFaucetPoWDifficulty defines the PoW difficulty for faucet payloads. CfgFaucetPoWDifficulty = "faucet.powDifficulty" // CfgFaucetBlacklistCapacity holds the maximum amount the address blacklist holds. // An address for which a funding was done in the past is added to the blacklist and eventually is removed from it. CfgFaucetBlacklistCapacity = "faucet.blacklistCapacity" )
View Source
const (
// ObjectName defines the name of the faucet object (payload).
ObjectName = "faucet"
)
Variables ¶
View Source
var ( // ErrAddressIsBlacklisted is returned if a funding can't be processed since the address is blacklisted. ErrAddressIsBlacklisted = errors.New("can't fund address as it is blacklisted") )
View Source
var Type = payload.NewType(2, ObjectName, PayloadUnmarshaler)
Type represents the identifier for the faucet Request type.
Functions ¶
func IsFaucetReq ¶
IsFaucetReq checks if the message is faucet payload.
func PayloadUnmarshaler ¶
PayloadUnmarshaler sets the generic unmarshaler.
Types ¶
type Component ¶
Component implements a faucet component which will send tokens to actors requesting tokens.
func Faucet ¶
func Faucet() *Component
Faucet gets the faucet component instance the faucet dApp has initialized.
func New ¶
func New(seed []byte, tokensPerRequest int64, blacklistCapacity int, maxTxBookedAwaitTime time.Duration) *Component
New creates a new faucet component using the given seed and tokensPerRequest config.
func (*Component) IsAddressBlacklisted ¶
IsAddressBlacklisted checks whether the given address is currently blacklisted.
type Request ¶
type Request struct {
// contains filtered or unexported fields
}
Request represents a faucet request which contains an address for the faucet to send funds to.
Example ¶
keyPair := ed25519.GenerateKeyPair() local := identity.NewLocalIdentity(keyPair.PublicKey, keyPair.PrivateKey) // 1. create faucet payload faucetRequest, err := NewRequest(address.Random(), 4) if err != nil { panic(err) } // 2. build actual message tx := tangle.NewMessage( []tangle.MessageID{tangle.EmptyMessageID}, []tangle.MessageID{}, time.Now(), local.PublicKey(), 0, faucetRequest, 0, ed25519.EmptySignature, ) fmt.Println(tx.String())
Output:
func NewRequest ¶
NewRequest is the constructor of a Request and creates a new Request object from the given details.
Click to show internal directories.
Click to hide internal directories.