Skip to content

tokenInfo Internal Action

Nilson Lazarin edited this page Sep 12, 2024 · 3 revisions
Internal Actions Wiki

.velluscinum.tokenInfo

(available at velluscinum >= 24.7.23)

Retrieves the content of a Token and return a belief with a list of fields, like: b(List).

DESCRIPTION

.velluscinum.tokenInfo(S,A,D,q);
Parameters Description
q It's a belief that represents the retrieved information (list) about a token.
A It's a literal that represents an asset.
D It's a literal that represents the wanted information (all, data, or metadata).
S It's a literal that represents the address of a DLT node.

EXAMPLE

chainServer("http://testchain.chon.group:9984/").
!start.

+!start <-
	?chainServer(S);
	.velluscinum.buildWallet(myWallet);
	.wait(myWallet(P,Q));
	.velluscinum.deployNFT(S,P,Q,"ka:vb;kb:kb","kc:vc;kd:vd",asset);
	.wait(asset(A));
	

	/* ************** Retrieving Informations from DLT ********************* */
    .velluscinum.tokenInfo(S,A,all,content); 		/* ALL fields */
//	.velluscinum.tokenInfo(S,A,data,content); 	/* only immutable fields */
//	.velluscinum.tokenInfo(S,A,metadata,content); 	/* last mutable fields */
	.wait(content(Content));

	.print("The content of ",A," is:");
	/* **************Searching data into the digital asset********************* */
	!findContent("*",set(Content)); /* all FIELDs in Asset data */
//	!findContent("ka",set(Content));/* a specific FIELD in Asset data */
.


+!findContent(Wanted,set([Head|Tail])) <- 
    !compare(Wanted,Head,set(Tail));
    !findContent(Wanted,set(Tail)).

+!compare(Wanted,[Key,Value],set(V)): 
(Wanted  == Key) | (Wanted == "*") <- 
    .print("key: ", Key, " value: ", Value);
    /*
        TODO

    */
.

-!compare(Wanted,[Key,Value]    ,set(V)) <- 
	.print("The key ",Key, " is not a ",Wanted)
.

-!findContent(Wanted,set([   ])) 
 //   <- .print("End of List.")
.