cadence
// Contract file: Counter.cdc
// Deployed to 0x01
pub contract Counter {
pub var count: Int
pub fun increment() {
self.count = self.count + 1
}
pub fun decrement() {
self.count = self.count - 1
}
pub fun get(): Int {
return self.count
}
}
cadence
// Transaction file: increment.cdc
import Counter from 0x01
transaction() {
let SignerAddress: Address
prepare(signer: AuthAccount) {
self.SignerAddress = signer.address
}
execute {
Counter.increment()
log(self.SignerAddress) // prints the signer's address
}
}
Transações
Para alterar dados em um contrato, você precisa enviar uma transação.
Em Cadence, as transações (e scripts) são separadas da camada do contrato e são escritas em arquivos diferentes.
As transações têm 2 etapas principais:
- prepare - para acessar dados/informações dentro da conta do
signatário
(permitido pelo tipoAuthAccount
) - execute - para executar ações