| File | Date | Author | Commit |
|---|---|---|---|
| examples | 2023-03-13 |
|
[8785aa] using JaCaMo with gradlew |
| javadoc | 2023-02-25 |
|
[52eb17] jason examples ok |
| lib | 2023-03-02 |
|
[dc63fa] house-building with BigchainDB |
| paper | 2023-03-13 |
|
[8785aa] using JaCaMo with gradlew |
| velluscinum-project | 2023-03-08 |
|
[501748] coreção de bugs no acesso concorrente e melhori... |
| .gitignore | 2023-03-13 |
|
[8785aa] using JaCaMo with gradlew |
| README.md | 2023-03-08 |
|
[cb3119] ajuste nos exemplos bobEalice e cozinheiroEcomilao |
Uma integração entre agentes Jason BDI com o BigChainDB ocorre, de forma que, um agente possa criar ou transferir um ativo digital diretamente por ações internas. A Figura abaixo apresenta a metodologia proposta.

Para possibilitar a interação direta dos agentes, através de ações internas é necessária a importação da biblioteca velluscinum.jar, para o diretório /lib no projeto.
Onde:
- Crenças:
-- b é uma crença que representa o resultado de uma operação na DLT;
-- w é uma crença que representa a carteira do agente;
-- q é uma crença que representa o saldo do token C na carteira do agente.
- Literais:
-- A é um literal que representa um NFT na DLT;
-- C é um literal que representa um Token na DLT;
-- P é um literal que representa a chave privada do agente;
-- Q é um literal que representa a chave pública do agente;
-- R é um literal que representa a chave pública de um agente destinatário;
-- S é um literal que representa o endereço de um nó da DLT;
-- T é um literal que representa uma transação realizada na DTL;
-- V é um literal que representa a quantidade de um Token na DTL;
- Arrays:
-- I é um array chave-valor (K1:V1;K2:V2;Kn:Vn) que representa os dados imutáveis de um ativo digital (ASSET);
-- M é um array chave-valor (k1:v1;k2:v2;kn:vn) que representa os metadados do ativo ou de uma transação (METADATA);
/* Initial beliefs and rules */
bigchainDB("http://testchain.chon.group:9984/").
aliceKey("FNJPJdtuPQYsqHG6tuUjKjqv7SW84U4ipiyyLV2j6MEW").
/* Initial goals */
!start.
/* Plans */
+!start <-
.print("Creating a Wallet");
.buildWallet(myWallet);
.wait(myWallet(PrivateKey,PublicKey));
.print("Creating a NFT");
?bigchainDB(Server);
.deployNFT(Server,
PrivateKey,PublicKey,
"name:Meninas;author:Silva y Velázquez;place:Madrid;year:1656",
"location:Madrid;value_eur:25000000;owner:Bob Agent",
myNFT);
.wait(myNFT(AssetID));
.print("NFT registered: ",Server,"api/v1/transactions/",AssetID);
.print("Tranfering the NFT");
?aliceKey(AliceKey);
.transferNFT(Server,
PrivateKey,PublicKey,
AssetID,
AliceKey,
"value_eur:30000000;owner:Alice;location:Rio de Janeiro",
transactionTo(alice));
.wait(transactionTo(alice,TransferID));
.print("NFT transferred: ",Server,"api/v1/transactions/",TransferID).
GMBH, BigchainDB. BigchainDB 2.0 The Blockchain Database. [S. l.: s. n.], 2018. Disponível em: https://www.bigchaindb.com/whitepaper/.
MCCONAGHY, Trent; MARQUES, Rodolphe; MÜLLER, Andreas; DE JONGHE, Dimitri; MCCONAGHY, Troy; MCMULLEN, Greg; HENDERSON, Ryan; BELLEMARE, Sylvain; GRANZOTTO, Alberto. Bigchaindb: a scalable blockchain database. white paper, BigChainDB, 2016.