Bitcoin Forum
May 22, 2024, 05:16:15 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 ... 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 [249] 250 251 252 253 254 255 256 257 258 259 260 261 »
  Print  
Author Topic: [ANN][CRW] CROWN (MN-PoS) | Platform | NFT framework | Governance | Masternodes  (Read 316607 times)
darkdreamer
Newbie
*
Offline Offline

Activity: 15
Merit: 0


View Profile
June 13, 2019, 09:59:35 PM
 #4961


Development update June 2019

Onwards and upwards


Our developers, Artem and Ashot have been hard at work since the last development update.

Version 0.13.4.0 was released a week later than we had hoped but was worth the wait. Everyone who has updated is experiencing improved stability, lower resource consumption and fast syncing. The network node count has recovered from its dip and there are currently around 1000 masternodes and 1500 systemnodes online. The systemnode count is still much lower than it traditionally has been because the depressed price makes them unprofitable (in fiat terms) on many hosting platforms at present. However, canny community members know the systemnode ROI is higher than the masternode ROI, take a long term view and keep running those nodes.


Trezor

The final pre-reqs for Trezor integration have been completed:
Bitcore-Crown and the associated Crownsight explorer
the pull-requests to Trezor-firmware for the prefix change and explorer links
We now have to wait for Trezor to push a new firmware release. These happen roughly every 3 months and the last was in March so we’re hoping it will happen this month.

NFT framework

Artem is still concentrating on development of the non-fungible token (NFT) framework. He has completed coding of most of the APIs (get, getbytxid, totalsupply, balanceof, ownerof) and has a couple more still in progress. He’ll be working on the documentation soon and we’re hopeful for a testnet release on 20 June 2019.

Codebase refresh

Ashot evaluated the best Bitcoin codebase to migrate to and has settled on v0.17. This is going to be a complex and time-consuming process. He basically has to take all the changes over the last four years which made Crown Crown, and re-apply them to a clean Bitcoin base. A very rough guestimate for how long this might take is 3–6 months.

Astute readers might wonder why we chose Bitcoin v0.17 rather than v0.18 since the amount of effort is about the same. The reason is account support. Accounts are the flaky wallet code for partitioning wallet funds into separate chunks. Some centralised exchanges are known to rely on this functionality. In Bitcoin v0.17 the functionality is deprecated but still present. In Bitcoin v0.18 it is removed completely. Switching to the v0.18 codebase without prior agreement from exchanges could cause us problems.

The new codebase will bring security, speed and stability enhancements. It will also make it easier to keep up to date with critical Bitcoin changes and ease maintenance into the future.

https://medium.com/crownplatform/development-update-june-2019-a1086c5d3aa0



Very well, I have been following the development of the project with great interest for some time now. The predominance of development over marketing and attention to technical innovations makes it in my opinion one of the most promising projects for the future, especially in the masternodes space where there are really few projects that look far ahead. I think also it is one of the projects with one of the healthiest and most motivated community in the whole crypto space.
BOoOBa
Newbie
*
Offline Offline

Activity: 27
Merit: 1


View Profile
June 14, 2019, 05:51:48 PM
 #4962


Development update June 2019

Onwards and upwards


Our developers, Artem and Ashot have been hard at work since the last development update.

Version 0.13.4.0 was released a week later than we had hoped but was worth the wait. Everyone who has updated is experiencing improved stability, lower resource consumption and fast syncing. The network node count has recovered from its dip and there are currently around 1000 masternodes and 1500 systemnodes online. The systemnode count is still much lower than it traditionally has been because the depressed price makes them unprofitable (in fiat terms) on many hosting platforms at present. However, canny community members know the systemnode ROI is higher than the masternode ROI, take a long term view and keep running those nodes.


Trezor

The final pre-reqs for Trezor integration have been completed:
Bitcore-Crown and the associated Crownsight explorer
the pull-requests to Trezor-firmware for the prefix change and explorer links
We now have to wait for Trezor to push a new firmware release. These happen roughly every 3 months and the last was in March so we’re hoping it will happen this month.

NFT framework

Artem is still concentrating on development of the non-fungible token (NFT) framework. He has completed coding of most of the APIs (get, getbytxid, totalsupply, balanceof, ownerof) and has a couple more still in progress. He’ll be working on the documentation soon and we’re hopeful for a testnet release on 20 June 2019.

Codebase refresh

Ashot evaluated the best Bitcoin codebase to migrate to and has settled on v0.17. This is going to be a complex and time-consuming process. He basically has to take all the changes over the last four years which made Crown Crown, and re-apply them to a clean Bitcoin base. A very rough guestimate for how long this might take is 3–6 months.

Astute readers might wonder why we chose Bitcoin v0.17 rather than v0.18 since the amount of effort is about the same. The reason is account support. Accounts are the flaky wallet code for partitioning wallet funds into separate chunks. Some centralised exchanges are known to rely on this functionality. In Bitcoin v0.17 the functionality is deprecated but still present. In Bitcoin v0.18 it is removed completely. Switching to the v0.18 codebase without prior agreement from exchanges could cause us problems.

The new codebase will bring security, speed and stability enhancements. It will also make it easier to keep up to date with critical Bitcoin changes and ease maintenance into the future.

https://medium.com/crownplatform/development-update-june-2019-a1086c5d3aa0



Very well, I have been following the development of the project with great interest for some time now. The predominance of development over marketing and attention to technical innovations makes it in my opinion one of the most promising projects for the future, especially in the masternodes space where there are really few projects that look far ahead. I think also it is one of the projects with one of the healthiest and most motivated community in the whole crypto space.


I'm willing to admit what you say but 3h of confirmation 100 or 150 confirmation for CROWN on = 2h or 3h30 MN exemple it's much very  toooooooo long even for POS example CLOAK or VIOG or ExSolution coins 5 confirmation and everyone is happy.

How can the mass adopt if we have to wait X confirmation with 107 years?
Stabycroc
Member
**
Offline Offline

Activity: 497
Merit: 24


View Profile
June 19, 2019, 07:05:33 AM
 #4963

usaly when "superblock" are made they make the price rise, not on CRW tho... down hill since ur failed Mn system in affect... should of ketp it pow.... but then ya wouldnt get all the free coins from doing STUFF ALL...
lol at the bot accounts trying to hype aswelll...
Crw vote payout should stop till u show some kind or price inc and returns for holders..... not LEACH users that hold since start...
crowncoin_knight
Hero Member
*****
Offline Offline

Activity: 805
Merit: 500


View Profile WWW
June 19, 2019, 01:22:54 PM
 #4964


https://medium.com/crownplatform/big-tech-censorship-antitrust-and-why-the-crown-platform-matters-881b872a36d4


Big tech censorship, antitrust and why the Crown Platform matters.


Crown contributor defunctec’s take on platforms vs publishers.

For years we have witnessed a slow creep of big tech control over the industry and control over content via their platforms which has now lead to Department of Justice probes.
Are these “platforms” publishers or platforms is the question of the day.
A great example of a publisher is news outlets where they pay journalists or reporters to write about X with the editors being responsible for what the author has written and published, while a platform is an open system in which virtually anyone can contribute anything. Of course, the platform has a duty to filter illegal content from its platform but apart from that anything goes.
The issue seems to be that these platforms are acting as publishers by not only banning illegal content but also controversial speech that either they don’t like or have been pressured by outside forces to remove.
 
Do platforms have the right to remove non-illegal but controversial content and still be classed as a platform? Who owns your content, you or the platform?
 
A good argument for Facebook not owning your content can be found here.
Facebook says the user owns their content but then why are they removing non-illegal but controversial speech from their platform? They’re taking responsibility for the curation of content other than illegal, making the argument of being a publisher very serious. If you do own your content, they’re only responsible for the removal of illegal content, not yours.
They can do this legally if they’re a publisher, but they masquerade as platforms and benefit from the lack of legal repercussions from acting as a publisher.

Antitrust suits are also on the horizon in America with Google, Apple and social media platforms all being looked into for breaches of laws relating to anti-competitive behaviour.

So why does blockchain matter?

Projects like Ethereum offer great utility for individuals and business to build or integrate already existing services to use blockchain tech, but with this utility comes great legal risk.

For example, an illegal organisation could use Ethereum and it’s token generation tools (ERC tokens) to fund operations around the world. The Ethereum developers are basically powerless to stop this group from using Ethereum’s tools unless they take drastic action which would jeopardise the trust aspect of the project. Even if mass consensus was reached to remove such a group then the fact that the Ethereum team intervened will erode trust in the decentralised ideal.

Crypto tech will always be used maliciously. We cannot completely stop this but we can create a system that helps filter out illegal content.
Ethereum will one day face this scenario, with an “illegal” operation using its tools for bad intentions.

When this day comes the Ethereum community will have to decide if this type of structure is the one they would like to continue to support or move on to a more regulated space. We must also consider governments actually banning the use of such platforms that allow illegal content to be hosted and distributed on the platform.

Crown Platform

The Crown development team and community are building a new system in which illegal actors’ access to the platform can be revoked… But not by the development team.

ID Verifiers

A unique and privileged position to hold within the Crown community, it comes with great responsibility. A verifier would need to create a special proposal via Crown’s proposal (governance) system. Once the proposal gathers enough Yes votes to pass the proposer gains access to a part of the Crown Platform no one else has. The verifier can now hash identity documents and provide requesters of verification with a “Unique Verification Hash” (UVH). A UVH can be used by individuals or corporations to provide proof they are who they say they are.

Systemnodes

Will provide computational power to users of the Crown Platform and can also be used independently alongside any website/server/business. A Systemnode doesn’t need a UVH to operate in the legacy sense but to use Crown Platform services a UVH will be needed.
 
A Systemnode can provide a toolkit of API requests from the network such as NFT generation, account registration etc..

So who keeps what in check?

The Crown community vote on ID verifiers which in turn provide UVHs to the Crown community. This is a relationship between a verifier and the community. If the verifier becomes a bad actor (e.g., Person A obtains UVH, Person A uses Crown Platform to host illegal content), the Crown community can notify the verifier that illegal content is being hosted using a UVH they provided, the verifier can now act appropriately. If the verifier doesn’t act the Crown community can vote down the verifier, removing all content related to the verifier.
 
It sounds harsh but it’s a requirement to remain legally compliant as a global network (within reason.)
 
Person B who successfully completed his verification and now possess a UVH can now host a Systemnode or become part of the computational pool.

Why the Crown Platform matters
 
This is the perfect time for a blockchain backed platform like the Crown Platform to emerge as an alternative technology and new way of managing large platforms such as the “App store”, social media, etc. where the distinction between publisher and platform is grey.
 
The Crown Platform is purely a platform and not a publisher. ID verifiers must not pick and choose the content they prefer but rather accept the user’s freedom to do anything within the law of the UVH holder’s land. Any content hosted on the platform is hosted by verified users and if the content is illegal in his country, his Identity could be used against him since his UVH is known to the ID verifier. It’s well within the user’s interest to remain within legal compliance within his jurisdiction.
 
Users (UVH holders) also have the choice to choose more than one ID verifier to provide them with a valid UVH in case the Crown community ever vote down a verifier and their privilege is revoked.
 
If a verifier acts like a publisher and revokes UVHs because of some personal spat, for example, it’s the Crown community’s (Voters) responsibility to act. On the other hand, if an ID is found to be fraudulent or the user acts illegally it becomes the verifier’s responsibility to revoke the UVH. Again, if the verifier doesn’t act they become susceptible to No votes and ultimately removal from the platform.
 
This isn’t a platform of curation nor subjective, moral or ethical standards rather a legally compliant framework you can choose to use or not to use.
 
“Fall of big tech”
 
If big tech platforms are found to be publishers and violate or have violated antitrust laws there will be a huge vacuum ready to be filled with new tech and new ideas. Large corporations that have a firm grip on the tech industry could actually be broken down similar to how Standard Oil was broken into 34 individual companies.
 
Yes, speculation… But all this should be considered when building such a platform as we don’t want to make the same mistakes.

Summary
 
Legal action against big tech platforms is looming. Platform or publisher? Do they own the content you provide and can they restrict your content if it’s legal? Are they violating antitrust laws by snuffing out competition? The Department of Justice will provide more information about this soon.
It’s safe to say that censorship of speech which is a right in the USA, for example, is curation, making the argument that these platforms act as publishers carry some weight.
 
The Crown Platform and its community do not curate non-illegal content. Users are free to act within the laws of their jurisdiction.
ID verifiers provide users with UVHs allowing them to join the computational pool or access tools directly via a Systemnode. Verifiers have the responsibility of revoking users’ UVHs if found to be acting illegally, not curating content depending on how they feel that day.
 
Systemnodes can be used alongside a website, for example, to offer their users/customers blockchain related services.
 
Overall the Crown Platform is attempting to build an open compliant network that will function legally within as much of the globe and possible, providing non-fungible token creation to start, with further development leading to fungible tokens, account registration, ID verification, verifier voting, time stamping, transactions. All the tools that will enable the Crown Platform to be a vibrant open legal ecosystem.



jamespastagueule
Newbie
*
Offline Offline

Activity: 110
Merit: 0


View Profile
June 20, 2019, 09:19:51 PM
 #4965

Can we hope for a new listing on Binance? What did they justify anyway?
crowncoin_knight
Hero Member
*****
Offline Offline

Activity: 805
Merit: 500


View Profile WWW
June 21, 2019, 07:38:32 AM
 #4966



You write in your propaganda that there will be the selection of an identity checker, sanctions votes and possibly exclusions (within reasonable limits)...
Are you Nazi !?!

You write "The Crown platform is purely a platform".
It's good but concretely apart from voting for nodes (the selection of privileged buddies) and sending crw is what crown is for? we can't send there either content or images or post written on your blockchain? even less from the wallet.

"Yes, speculation... But all this should be taken into account when building such a platform, because we don't want to make the same mistakes".

Explain concretely and simply the objective of crown (tell yourself that I am a potential investor in your project) why should I choose your crypto over another one?

Join discord and tag defuctec, the author of this article. thank you sir

crowncoin_knight
Hero Member
*****
Offline Offline

Activity: 805
Merit: 500


View Profile WWW
June 21, 2019, 07:45:47 AM
 #4967



https://medium.com/crownplatform/crown-platform-nft-framework-18d88f9db76



Crown Platform NFT Framework

Non-fungible Tokens on the Crown Core

Since the beginning of the Crown Platform evolution, we wanted to build a public blockchain solution that will enable simple and fast integration with a modern distributed ledger technology. Back in August 2017, the foundational ideas of how the platform should look like were laid down. Since then, we’ve been working hard to realize these ideas and transform them into a tangible form. The general platform overview that is available here explains the main concepts of the Crown Platform. Today we are going to concentrate on the part that evolved to become the Non-Fungible Token Framework or NFT Framework. In the platform overview that part has a name — Registry Subsystem. If you’re not familiar with the term NFT, feel free to read a quick overview here. In simple words, when a token is non-fungible it means it’s not interchangeable, it has unique properties and one asset is not equal to another asset in the same set, as it is with the fungible tokens. They are mostly monetary and interchangeable.
After some experiments with development, we changed terminology and the API interface a bit. So it now aligns with the notion of NFTs that became popular with the rise of Ethereum, ERC-721 smart contract standard and success of the Cryptokitties game. We believe it will be easier for developers to understand the workflow and start using Crown Platform in their applications if we adopt the same abstract concepts that exist on the market. In general, we all need the same technical language which is platform-agnostic to effectively communicate about blockchain software development.

Crown NFT vs Ethereum ERC-721 NFT

The conceptual difference between Ethereum NFTs and Crown NFTs is that in the first case the development process is more code-oriented or smart contracts based. It means that the most part of the business logic is deployed and executed on the EVM. However, in Crown we use the data-oriented approach and the Crown Platform API as a gateway for the integration of your web or any other application with a blockchain solution. There are pros and cons to both approaches. The smart contract approach gives you the flexibility to run arbitrary code on-chain and customize your business-logic in a smart contract, and in many cases, it’s exactly what you need. But sometimes you need a blockchain solution that you can quickly integrate with your existing or developing application using the API. You don’t need to deal with the smart contracts languages and time-consuming development. You need to get clear on the data model for your non-fungible tokens set and how it fits into your architecture. So eventually, you have business-logic running off-chain on your back-end which interacts with the on-chain solution that you integrate using the Crown Platform API. Plus, you don’t have to deal with potential bugs that might be introduced with a smart contract code and are irreversible.

Design Your Blockchain Solution

When you work on an NFT solution based on Ethereum, you need to write Solidity code that implements standard smart contract interface:

/// @title ERC-721 Non-Fungible Token Standard
interface ERC721 /* is ERC165 */
{
Transfer(address indexed _from, address indexed _to, uint256 indexed _tokenId);
event Approval(address indexed _owner, address indexed _approved, uint256 indexed _tokenId);
event ApprovalForAll(address indexed _owner, address indexed _operator, bool _approved);
function balanceOf(address _owner) external view returns (uint256); function ownerOf(uint256 _tokenId) external view returns (address); function safeTransferFrom(address _from, address _to, uint256 _tokenId, bytes data) external payable;
function safeTransferFrom(address _from, address _to, uint256 _tokenId) external payable;
function transferFrom(address _from, address _to, uint256 _tokenId) external payable;
function approve(address _approved, uint256 _tokenId) external payable;
function setApprovalForAll(address _operator, bool _approved) external;
function getApproved(uint256 _tokenId) external view returns (address);
function isApprovedForAll(address _owner, address _operator) external view returns (bool);
}


The implementation will encapsulate the logic of your NFT blockchain solution. The analog of the smart contract implementation on Crown is an NFT protocol registration. You need to define the set of rules for your non-fungible token solution. First, you need to set a protocol symbol or protocol ID, it should be a string that contains only symbols from the set: .abcdefghijklmnopqrstuvwxyz12345 with the length between 3 and 12 characters. It might be something like: “doc”, “docproof”, “prf”, “ckt” or “cryptoknight”, “lux” etc. This string is used as a unique identifier of the protocol in the system. Also, you can set up a long protocol name that will be more meaningful and can contain up to 24 arbitrary symbols, for example: “Documents”, “Documents Proof”, “Proofs”, “Cryptoknights Game”, “Luxury Goods” etc. As an engineer, you also need to define the metadata mimetype, its schema and whether it will be embedded in the NFT or just contain a link to an IPFS or another resource with the metadata. Usually, it should be an “application/json” format, and the metadata field should contain a link to the JSON file. Embedding metadata directly into the blockchain record only makes sense if it’s shorter than a URL. If the metadata field contains many symbols, the NFT transaction fee will grow exponentially (not implemented yet). You will also need to define some other rules for your protocol that will customize the behavior of your application. Some of the fields of the protocol are:

/// NF token protocol unique symbol/identifier, can be an a    abbreviated name describing this NF token type
    /// Represented as a base32 string, can only contain characters: .abcdefghijklmnopqrstuvwxyz12345
    /// Minimum length 3 symbols, maximum length 12 symbols
    uint64_t tokenProtocolId;
    /// Full name for this NF token type/protocol
    /// Minimum length 3 symbols, maximum length 24
    std::string tokenProtocolName;
    /// URI to schema (json/xml/binary) describing metadata format
    std::string tokenMetadataSchemaUri;
    /// MIME type describing metadata content type
    std::string tokenMetadataMimeType;
    /// Defines if metadata is embedded or contains a URI
    /// It's recommended to use embedded metadata only if it's shorter than URI
    bool isMetadataEmbedded;
    /// Owner of the NF token protocol
    CKeyID tokenProtocolOwnerId;


Note: the protocol registration is not necessary for the upcoming testnet release 0.13.9 (pre-release before 0.14.0), you can start NFTs registration with arbitrary protocol symbol to test your solution.

NF Token Registration and API interface

So now comes the fun part. As an engineer, you will be interacting with the Crown Platform API interface to issue new NFTs, query different information about them for your users, etc. I am going to provide you a couple of examples of how you can use the API through the wallet command line interface and a small code example.

All the NFT framework APIs start with the nftoken command. The subcommands list is: register(issue)|list|get|getbytxid|totalsupply|balanceof|ownerof.
In order to register/issue a new NFT instance you need to call the corresponding remote procedure:

nftoken register/issue "nfTokenProtocol" "tokenId" "tokenOwnerAddr" "tokenMetadataAdminAddr" "metadata"

Creates and sends a new non-fungible token transaction.

Arguments:

1. "nfTokenProtocol"           (string, required) A non-fungible token protocol symbol to use in the token creation. The protocol name must be valid and registered previously.
2. "nfTokenId"                 (string, required) The token id in hex. The token id must be unique in the token type space.
"3."nfTokenOwnerAddr"         (string, required) The token owner key, can be used in any operations with the token. The private key belonging to this address may be or may be not known in your wallet.
4. "nfTokenMetadataAdminAddr"  (string, optional, default = \"0\"). The metadata token administration key, can be used to modify token metadata. The private key does not have to be known by your wallet. Can be set to 0.
5. "nfTokenMetadata"           (string, optional) metadata describing the token. It may contain text or binary in hex/base64.


Let’s imagine we are building a crypto collectibles game — CryptoKnights. It’s a game where you can own digital assets that represent unique knights. Every other instance has different properties based on the DNA generation algorithm. Just like with Ethereum Cryptokitties game. Let’s say the protocol symbol will be “ckt”. In order to register an instance of a CryptoKnight, you have to run a command like this one:

nftoken issue ckt 2772eeb3a5486f773ad7e47413424356da55db94c7f8e0528fcba5079ddeb8ed CRWJKC453SVnczLQD6opqJVMuHDqNWwaJAgV CRWD4W7PauajWooq8vmtzaxNzEEED5yL3FdZ “https://ipfs.io/ipfs/QmPiYzMQbSPxsKC2b6CHEUHWfqFHjX9bHSu6YVpiopzvTx"

As a result you will get a transaction ID: ce1444b48cdd83761afa79f3089d2d433a417ea3a6eb2cfc403dc0bf4e7f48c6. To uniquely identify an NFT you can use the combination of the protocol ID and the token ID. Or transaction hash.

As an architect of your application, you have to choose a strategy of generating NF token IDs. The restriction is pretty simple — it must be unique in the space of your protocol. It can be a hash of a document that uniquely identifies your tokens, it also can be a simple counter, unique seed, etc. In the example above I calculate SHA-256 hash of the DNA uniquely identifying a new CryptoKnight instance.

After the transaction is mature enough, the NFT is considered registered and can be used as an existing digital asset. The link to the metadata can look something like this:
{
  “name”: “Percival”,
  “description”: “A knight of the Round Table”,
  “image”: “https://percival-image.link”
}


Now you can query data from the blockchain to process and display it in your application. In order to get a single instance of an NFT you can simply use the get API:

nftoken get ckt 2772eeb3a5486f773ad7e47413424356da55db94c7f8e0528fcba5079ddeb8ed

As a result, you will have a JSON document that looks something like this:

{
“blockHash” : “000001b031c4832eb185b05475bb37a6d320b6a531a48cc1cdf9300760e84388”,
“registrationTxHash” : “ce1444b48cdd83761afa79f3089d2d433a417ea3a6eb2cfc403dc0bf4e7f48c6”,
“height” : 5197,
“timestamp” : 1561019190,
“nftProtocolId” : “ckt”,
“nftId” : “2772eeb3a5486f773ad7e47413424356da55db94c7f8e0528fcba5079ddeb8ed”,
“nftOwnerKeyId” : “CRWJKC453SVnczLQD6opqJVMuHDqNWwaJAgV”,
“metadataAdminKeyId” : “CRWD4W7PauajWooq8vmtzaxNzEEED5yL3FdZ”,
“metadata” : “https://ipfs.io/ipfs/QmPiYzMQbSPxsKC2b6CHEUHWfqFHjX9bHSu6YVpiopzvTx“
}


You can also request the information about the NFT instance using the transaction ID:

nftoken getbytxid ce1444b48cdd83761afa79f3089d2d433a417ea3a6eb2cfc403dc0bf4e7f48c6

Keep in mind that it means using different abstraction level, so it’s recommended to use the token ID to address NFTs. In this case, you interact on a level of your application business-logic.

To query multiple instances you will use the nftoken list API. This command is pretty flexible so you can request and process all existing NFTs, or only those belonging to a specific protocol or belonging to a specific owner or both. You also can set up the requesting blockchain height and amount of records. All of this will give you the flexibility to adapt requests to your needs. For example, to request all CryptoKnights tokens you will write:
nftoken list ckt or to get all the instances belonging to the owner of the address CRWJKC453SVnczLQD6opqJVMuHDqNWwaJAgV your command will look like this:

nftoken list * CRWJKC453SVnczLQD6opqJVMuHDqNWwaJAgV

Other API documentation details are available using the help command of your node instance and will be available in the project wiki soon. You can also request additional information using the APIs:

nftoken totalsupply ckt
nftoken balanceof CRWJKC453SVnczLQD6opqJVMuHDqNWwaJAgV
nftoken ownerof ckt 2772eeb3a5486f773ad7e47413424356da55db94c7f8e0528fcba5079ddeb8ed


Code Example

This code example is a fragment of a simple application that receives a file as an input and registers an NFT with a unique hash of that file as a token ID, proving the existence and ownership of the underlying data.

int main()
{
    CURL * curl = curl_easy_init();
    curl_slist * headers = nullptr;
    Nft newNft;
if (curl != nullptr)
   {
        std::string getNewAddr(R"({"jsonrpc": "1.0", "id": "nftest", "method": "getnewaddress", "params": [] })");
        headers = curl_slist_append(headers, R"("content-type: text/plain;")");
        curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
        curl_easy_setopt(curl, CURLOPT_URL, "http://127.0.0.1:43001/");
        curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, getNewAddr.size());
        curl_easy_setopt(curl, CURLOPT_POSTFIELDS, getNewAddr.c_str());
        curl_easy_setopt(curl, CURLOPT_USERPWD, "crownrpc:bogus");
        curl_easy_setopt(curl, CURLOPT_USE_SSL, CURLUSESSL_TRY);
        // Gen owner address
        curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, GetNewAddressFunc);
        curl_easy_setopt(curl, CURLOPT_WRITEDATA, &newNft.OwnerAddress);
        curl_easy_perform(curl);
        // Gen admin address
        curl_easy_setopt(curl, CURLOPT_WRITEDATA, &newNft.AdminAddress);
        curl_easy_perform(curl);
        // Register new NFT
        rapidjson::Document nfTokenRegDoc;
        nfTokenRegDoc.SetObject();
        nfTokenRegDoc.AddMember("jsonrpc", "1.0", nfTokenRegDoc.GetAllocator());
        nfTokenRegDoc.AddMember("id", "nftest", nfTokenRegDoc.GetAllocator());
        nfTokenRegDoc.AddMember("method", "nftoken", nfTokenRegDoc.GetAllocator());
        rapidjson::Value params(rapidjson::kArrayType);
        params.PushBack(rapidjson::Value("register").Move(), nfTokenRegDoc.GetAllocator());
        params.PushBack(rapidjson::Value("doc").Move(), nfTokenRegDoc.GetAllocator());
        params.PushBack(rapidjson::Value(rapidjson::StringRef(newNft.TokenId.c_str())).Move(), nfTokenRegDoc.GetAllocator());
        params.PushBack(rapidjson::Value(rapidjson::StringRef(newNft.OwnerAddress.c_str())).Move(), nfTokenRegDoc.GetAllocator());
        params.PushBack(rapidjson::Value(rapidjson::StringRef(newNft.AdminAddress.c_str())).Move(), nfTokenRegDoc.GetAllocator());
params.PushBack(rapidjson::Value(rapidjson::StringRef(newNft.Metadata.c_str())).Move(), nfTokenRegDoc.GetAllocator());
        nfTokenRegDoc.AddMember("params", params, nfTokenRegDoc.GetAllocator());
        rapidjson::StringBuffer buffer;
        rapidjson::Writer<rapidjson::StringBuffer> writer(buffer);
        nfTokenRegDoc.Accept(writer);
        std::string nftRegJsonStr = buffer.GetString();
        curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, nftRegJsonStr.size());
        curl_easy_setopt(curl, CURLOPT_POSTFIELDS, nftRegJsonStr.c_str());
        curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, NfTokenRegFunc);
        curl_easy_setopt(curl, CURLOPT_WRITEDATA, &newNft);
        curl_easy_perform(curl);
    }
    return 0;
}


In the example above we generate two new Crown addresses and then make a call to register a new NFT within the “doc” protocol space. And that’s it. You now have a non-fungible token instance registered on the Crown blockchain. We use a local node here for registration on a sandbox blockchain. (Note: the information of how to set up and use Crown sandboxes will be available soon). It’s really up to you what language or library to use for the development. In the near future, I will update the Crown Bitcore library to support NFTs out of the box, so it’s easier for web developers to integrate Crown blockchain solution in their applications.

Thank you for your attention. Stay tuned for the upcoming 0.14 Emerald testnet release this week and more technical documentation on the wiki.

CookyCook72
Newbie
*
Offline Offline

Activity: 66
Merit: 0


View Profile
June 21, 2019, 10:21:38 AM
Last edit: August 07, 2019, 12:43:21 PM by CookyCook72
 #4968

good test and feedback for me
crowncoin_knight
Hero Member
*****
Offline Offline

Activity: 805
Merit: 500


View Profile WWW
June 21, 2019, 08:29:14 PM
 #4969


The CRW NFT framework is now online in our testnet!

Join testing and give us feedback!


https://gitlab.crown.tech/crown/crown-core/pipelines/1076

crowncoin_knight
Hero Member
*****
Offline Offline

Activity: 805
Merit: 500


View Profile WWW
June 21, 2019, 08:33:36 PM
 #4970

In your answer I understand "I didn't write this" but as a member of the staff you take over and validate this?!".It may be time to hire experts in communication, marketing and product placement if you want to avoid this approaching wall.

If I was a future whale investor, why choose CRW over another crypto?


Maybe you should look at our web, we are not a company, there is no staff, no experts in communications....just contributors who contribute if they want to, Crown is a decentralized and shared responsibility blockchain based on our DAO

why choose CRW? do you own DD, maybe these two articles might help you

https://medium.com/crownplatform/13-things-you-should-know-about-crown-platform-e0b0d55fae2

https://medium.com/crownplatform/look-in-the-mirror-and-contribute-a-shared-responsibility-blockchain-46ca1ed55b22

crowncoin_knight
Hero Member
*****
Offline Offline

Activity: 805
Merit: 500


View Profile WWW
June 22, 2019, 05:56:35 AM
 #4971



yeah the FCAS rating on Crown is moving up

https://coinmarketcap.com/currencies/crown/#ratings

crowncoin_knight
Hero Member
*****
Offline Offline

Activity: 805
Merit: 500


View Profile WWW
June 22, 2019, 08:41:46 AM
 #4972


https://medium.com/crownplatform/crown-and-cybr-join-forces-to-bring-blockhain-technology-closer-to-end-users-and-businesses-730f3dee26c7


CROWN and CYBR join forces to bring blockhain technology closer to end-users and businesses

Contributors at CROWN, a blockchain-as-a-service DAO, are working with CYBR, a blockchain-focused holistic cybersecurity platform, to help
strengthen the security of the CROWN PLATFORM and its users, as well as exploring ways of deploying a NFT security certificate framework for CYBR’s services. CYBR’s Ecosystem is made up of multiple systems which protect the integrity of smart contract transactions, recognize and neutralize threats, andidentify security flaws in almost any IP-enabled device. When combined, these components provide a state-of-the-art cybersecurity
suite that can learn and adapt to new threats and vulnerabilities.

CYBR Founder Shawn Key:
"Crown is a perfect example of the type of collaborative ethos that drives blockchain development forward. I’m excited to work with the CROWN community to help make the platform more secure for its end users and customers."

Jose, Community CCO at Crown:
"At the heart of Crown’s success lies the security of our Platform and its infrastructure. Partnering with CYBR gives us both the ability to analyse and verify the robustness of our systems while exploring ways of deploying security certificates for CYBR in form of NFTs.
Both CROWN and CYBR have built functioning ecosystems, allowing businesses or individuals to start securely using blockchain services."


ABOUT CYBR:
CYBR — Cyber Security Ecosystem and Utility Token

NEW YORK, June 3, 2019 (Newswire.com) — ​​​​As malicious hacking continues to rack up bounties and threaten…
cybrtoken.io   

The CYBR Ecosystem is a holistic, cyber security solution for the blockchain which ensures secure smart transactions occur via a portal
designed to provide real-time safeguards, countermeasures and threat intelligence to the CYBR community as well as other crypto entities
and exchanges who rely on their cybersecurity solutions. CYBR commercializes and monetizes emerging threat intelligence by turning
the data into actionable intelligence.

Stabycroc
Member
**
Offline Offline

Activity: 497
Merit: 24


View Profile
June 25, 2019, 11:18:04 AM
 #4973

In your answer I understand "I didn't write this" but as a member of the staff you take over and validate this?!".It may be time to hire experts in communication, marketing and product placement if you want to avoid this approaching wall.

If I was a future whale investor, why choose CRW over another crypto?


thats the way lil mis do lil plays the game (crownknight )..... and Stonehenge has "decentralize everything" which after CRW start and the scam vote system was in full scam mode dumping endless coins that they never really mined just for threw cheat mn vote system to dump on markets for there greed and def not decentralize .

"It may be time to hire experts in communication, marketing and product placement"
They had that in old guards like me and that was the ONLY promoter of crw for years b4 they started there mn theft system, inferno  helped alot aswell but u dont see him here orr helping them no more and u dont def see him talking disrespect to me with the work i done for crw and helping alot make $$ as he knows whome i am and the way i play the crypto game... u dont buy repect in crypto u ern the stuff that crw devs clearly havent learnt.

u can read back in my posts and see i tried to advise them in professional crypto ways of doing things but got told "that was then and this is now" so pretty much saying a big Fu to those that actually promoted and communicated and did REAL productive things to help old crw grow to 60000sat+ ..

 Ive never got or asked for promo reward but they have payed out 100000s of crw to people claiming to promo with no proof or backing to there coins given and then would just dump on market ( there is only 2x people in Australia that could LEGALLY claim any promo and nether 1 has but promo payout for aussie land was payed out by the devs and failed governed vote system... i think they just made a list of country and payed to themselves )

every idea ive passed on even after that they have sent bot to try deface me or tried to attack professional crypto advise which weeks to months later they bring in as there ideas lol.. no credit givin even after they make my mined crw ( i was 1 of the only miners till i got the top hasher of sha of those days to point there rigs at crw when it wasnt worth there time to but did it due to the respect they have for me)  ( believe me that will never happen in crypto as ALL old guard know the way i work... )

i used to be moderator on the only exchange crw had at that time and done ALL the front line work for the devs, hence why there SO bad at talking to customers as they never had to do it and me and infernal made crw moon...

worst part is u could be a promoter/miner/mover of the blockchain/protector/salesman for crw for years and hold over 100k crw and held for years but they DONT reward u they steal from u by doing MASSIVE superblocks to clean there shoes and ungoverned mn system that allows for more bad of crypto..u could hold 10-20 more than a mn holder but they have the ability to make ur holding value drop....

hosting a node isnt hard and doesnt cost that much, so mn are joke and just a way to rape the system if done incorrect..( i should know i know the dev that invented MN system ) vote system should be for all holders not just a select few ( buddie vote scam system )..

there lack of removing devs from the vote system is another flaw as they could vote there superblocks over and over again...

Sure i could of made 20+ mns and raped ( i had 3 setup in early days threw a 3rd party ad all MN payout went to him and then he stole the 3mns (ACP DEV ) which he did help alot with the code side of the mn and the setup style but u dont steal from those that pay u to do a job ) all ur $ but isnt my crypto style and never will be..And isnt what crw started out like otherwise i would never of put YEARS worth of REAL crypto work into it.

this is just a brief insight on how they work and how they show respect to pros that made crw.... ANY 1 can code, only like 10 people in the world can promote clean and get coins moving like i and infernal can in a clean crypto way :_)>> Sad that infernal doesnt have the balls to back me up or say im wrg in any way..... but he always was rich from crypto even b4 crw, im prety sure that why u dont see his name around crw as he dont play crypto that way...ive seen him report multi scam coins to government watchdogs.

Basically they should write a book on "how to kill a good crypto coin with self greed and not show respect to those that made their coin great while they sat in shadows and done nothing"

If ya have any ? just pm me....

Da ja
Stabycroc ;_)>
Aka Masterbait
CookyCook72
Newbie
*
Offline Offline

Activity: 66
Merit: 0


View Profile
June 30, 2019, 06:37:44 PM
 #4974

Your testimony is troubling that said many " coins " are in the same case configurations with creators and users / defenders / fanboys... which are technically effective but mediocre in terms of strategic communication. The Community principle is a starting point. Radiation and use then depend on adoption by a larger number of people. The rules established are set by the creators, centralization or decentralization is an side effect that the user does not necessarily care about.

I have been trying CRW for 15 days now with 1 MN I have recovered +59.50 CRW or + or - $12.

From this experience, I must admit that the CROWN solution works and is still profitable despite 990MN totalized and currently connected to the network.  

https://ibb.co/2MDmDsR

What would you like to do to help forward-looking communication (future-orientated) ?

Mountain_Crew
Newbie
*
Offline Offline

Activity: 30
Merit: 0


View Profile
June 30, 2019, 11:36:28 PM
 #4975


https://medium.com/crownplatform/crown-and-cybr-join-forces-to-bring-blockhain-technology-closer-to-end-users-and-businesses-730f3dee26c7


CROWN and CYBR join forces to bring blockhain technology closer to end-users and businesses

Contributors at CROWN, a blockchain-as-a-service DAO, are working with CYBR, a blockchain-focused holistic cybersecurity platform, to help
strengthen the security of the CROWN PLATFORM and its users, as well as exploring ways of deploying a NFT security certificate framework for CYBR’s services. CYBR’s Ecosystem is made up of multiple systems which protect the integrity of smart contract transactions, recognize and neutralize threats, andidentify security flaws in almost any IP-enabled device. When combined, these components provide a state-of-the-art cybersecurity
suite that can learn and adapt to new threats and vulnerabilities.

CYBR Founder Shawn Key:
"Crown is a perfect example of the type of collaborative ethos that drives blockchain development forward. I’m excited to work with the CROWN community to help make the platform more secure for its end users and customers."

Jose, Community CCO at Crown:
"At the heart of Crown’s success lies the security of our Platform and its infrastructure. Partnering with CYBR gives us both the ability to analyse and verify the robustness of our systems while exploring ways of deploying security certificates for CYBR in form of NFTs.
Both CROWN and CYBR have built functioning ecosystems, allowing businesses or individuals to start securely using blockchain services."


ABOUT CYBR:
CYBR — Cyber Security Ecosystem and Utility Token

NEW YORK, June 3, 2019 (Newswire.com) — ​​​​As malicious hacking continues to rack up bounties and threaten…
cybrtoken.io   

The CYBR Ecosystem is a holistic, cyber security solution for the blockchain which ensures secure smart transactions occur via a portal
designed to provide real-time safeguards, countermeasures and threat intelligence to the CYBR community as well as other crypto entities
and exchanges who rely on their cybersecurity solutions. CYBR commercializes and monetizes emerging threat intelligence by turning
the data into actionable intelligence.

hey that sounds great but what's the use of it as an add function?
Mountain_Crew
Newbie
*
Offline Offline

Activity: 30
Merit: 0


View Profile
June 30, 2019, 11:39:08 PM
 #4976


The CRW NFT framework is now online in our testnet!

Join testing and give us feedback!


https://gitlab.crown.tech/crown/crown-core/pipelines/1076
i don't understand everything, but how can i help?
CookyCook72
Newbie
*
Offline Offline

Activity: 66
Merit: 0


View Profile
July 01, 2019, 10:29:40 AM
 #4977


The CRW NFT framework is now online in our testnet!

Join testing and give us feedback!


https://gitlab.crown.tech/crown/crown-core/pipelines/1076
i don't understand everything, but how can i help?


i copy / past from https://medium.com/crownplatform/crown-platform-nft-framework-18d88f9db76


Crown Platform NFT Framework
Go to the profile of Artem
Artem
Jun 20

Non-fungible Tokens on the Crown Core
Since the beginning of the Crown Platform evolution, we wanted to build a public blockchain solution that will enable simple and fast integration with a modern distributed ledger technology. Back in August 2017, the foundational ideas of how the platform should look like were laid down. Since then, we’ve been working hard to realize these ideas and transform them into a tangible form. The general platform overview that is available here explains the main concepts of the Crown Platform. Today we are going to concentrate on the part that evolved to become the Non-Fungible Token Framework or NFT Framework. In the platform overview that part has a name — Registry Subsystem. If you’re not familiar with the term NFT, feel free to read a quick overview here. In simple words, when a token is non-fungible it means it’s not interchangeable, it has unique properties and one asset is not equal to another asset in the same set, as it is with the fungible tokens. They are mostly monetary and interchangeable.

After some experiments with development, we changed terminology and the API interface a bit. So it now aligns with the notion of NFTs that became popular with the rise of Ethereum, ERC-721 smart contract standard and success of the Cryptokitties game. We believe it will be easier for developers to understand the workflow and start using Crown Platform in their applications if we adopt the same abstract concepts that exist on the market. In general, we all need the same technical language which is platform-agnostic to effectively communicate about blockchain software development.

Crown NFT vs Ethereum ERC-721 NFT
The conceptual difference between Ethereum NFTs and Crown NFTs is that in the first case the development process is more code-oriented or smart contracts based. It means that the most part of the business logic is deployed and executed on the EVM. However, in Crown we use the data-oriented approach and the Crown Platform API as a gateway for the integration of your web or any other application with a blockchain solution. There are pros and cons to both approaches. The smart contract approach gives you the flexibility to run arbitrary code on-chain and customize your business-logic in a smart contract, and in many cases, it’s exactly what you need. But sometimes you need a blockchain solution that you can quickly integrate with your existing or developing application using the API. You don’t need to deal with the smart contracts languages and time-consuming development. You need to get clear on the data model for your non-fungible tokens set and how it fits into your architecture. So eventually, you have business-logic running off-chain on your back-end which interacts with the on-chain solution that you integrate using the Crown Platform API. Plus, you don’t have to deal with potential bugs that might be introduced with a smart contract code and are irreversible.


NFT Data Structure
Design Your Blockchain Solution
When you work on an NFT solution based on Ethereum, you need to write Solidity code that implements standard smart contract interface:

/// @title ERC-721 Non-Fungible Token Standard
interface ERC721 /* is ERC165 */
{
Transfer(address indexed _from, address indexed _to, uint256 indexed _tokenId);
event Approval(address indexed _owner, address indexed _approved, uint256 indexed _tokenId);
event ApprovalForAll(address indexed _owner, address indexed _operator, bool _approved);
function balanceOf(address _owner) external view returns (uint256); function ownerOf(uint256 _tokenId) external view returns (address); function safeTransferFrom(address _from, address _to, uint256 _tokenId, bytes data) external payable;
function safeTransferFrom(address _from, address _to, uint256 _tokenId) external payable;
function transferFrom(address _from, address _to, uint256 _tokenId) external payable;
function approve(address _approved, uint256 _tokenId) external payable;
function setApprovalForAll(address _operator, bool _approved) external;
function getApproved(uint256 _tokenId) external view returns (address);
function isApprovedForAll(address _owner, address _operator) external view returns (bool);
}
The implementation will encapsulate the logic of your NFT blockchain solution. The analog of the smart contract implementation on Crown is an NFT protocol registration. You need to define the set of rules for your non-fungible token solution. First, you need to set a protocol symbol or protocol ID, it should be a string that contains only symbols from the set: .abcdefghijklmnopqrstuvwxyz12345 with the length between 3 and 12 characters. It might be something like: “doc”, “docproof”, “prf”, “ckt” or “cryptoknight”, “lux” etc. This string is used as a unique identifier of the protocol in the system. Also, you can set up a long protocol name that will be more meaningful and can contain up to 24 arbitrary symbols, for example: “Documents”, “Documents Proof”, “Proofs”, “Cryptoknights Game”, “Luxury Goods” etc. As an engineer, you also need to define the metadata mimetype, its schema and whether it will be embedded in the NFT or just contain a link to an IPFS or another resource with the metadata. Usually, it should be an “application/json” format, and the metadata field should contain a link to the JSON file. Embedding metadata directly into the blockchain record only makes sense if it’s shorter than a URL. If the metadata field contains many symbols, the NFT transaction fee will grow exponentially (not implemented yet). You will also need to define some other rules for your protocol that will customize the behavior of your application. Some of the fields of the protocol are:

    /// NF token protocol unique symbol/identifier, can be an a    abbreviated name describing this NF token type
    /// Represented as a base32 string, can only contain characters: .abcdefghijklmnopqrstuvwxyz12345
    /// Minimum length 3 symbols, maximum length 12 symbols
    uint64_t tokenProtocolId;
    /// Full name for this NF token type/protocol
    /// Minimum length 3 symbols, maximum length 24
    std::string tokenProtocolName;
    /// URI to schema (json/xml/binary) describing metadata format
    std::string tokenMetadataSchemaUri;
    /// MIME type describing metadata content type
    std::string tokenMetadataMimeType;
    /// Defines if metadata is embedded or contains a URI
    /// It's recommended to use embedded metadata only if it's shorter than URI
    bool isMetadataEmbedded;
    /// Owner of the NF token protocol
    CKeyID tokenProtocolOwnerId;
Note: the protocol registration is not necessary for the upcoming testnet release 0.13.9 (pre-release before 0.14.0), you can start NFTs registration with arbitrary protocol symbol to test your solution.

NF Token Registration and API interface
So now comes the fun part. As an engineer, you will be interacting with the Crown Platform API interface to issue new NFTs, query different information about them for your users, etc. I am going to provide you a couple of examples of how you can use the API through the wallet command line interface and a small code example.

All the NFT framework APIs start with the nftoken command. The subcommands list is: register(issue)|list|get|getbytxid|totalsupply|balanceof|ownerof.

In order to register/issue a new NFT instance you need to call the corresponding remote procedure:

nftoken register/issue "nfTokenProtocol" "tokenId" "tokenOwnerAddr" "tokenMetadataAdminAddr" "metadata"
Creates and sends a new non-fungible token transaction.
Arguments:
1. "nfTokenProtocol"           (string, required) A non-fungible token protocol symbol to use in the token creation. The protocol name must be valid and registered previously.
2. "nfTokenId"                 (string, required) The token id in hex. The token id must be unique in the token type space.
"3."nfTokenOwnerAddr"         (string, required) The token owner key, can be used in any operations with the token. The private key belonging to this address may be or may be not known in your wallet.
4. "nfTokenMetadataAdminAddr"  (string, optional, default = \"0\"). The metadata token administration key, can be used to modify token metadata. The private key does not have to be known by your wallet. Can be set to 0.
5. "nfTokenMetadata"           (string, optional) metadata describing the token. It may contain text or binary in hex/base64.
Let’s imagine we are building a crypto collectibles game — CryptoKnights. It’s a game where you can own digital assets that represent unique knights. Every other instance has different properties based on the DNA generation algorithm. Just like with Ethereum Cryptokitties game. Let’s say the protocol symbol will be “ckt”. In order to register an instance of a CryptoKnight, you have to run a command like this one:

nftoken issue ckt 2772eeb3a5486f773ad7e47413424356da55db94c7f8e0528fcba5079ddeb8ed CRWJKC453SVnczLQD6opqJVMuHDqNWwaJAgV CRWD4W7PauajWooq8vmtzaxNzEEED5yL3FdZ “https://ipfs.io/ipfs/QmPiYzMQbSPxsKC2b6CHEUHWfqFHjX9bHSu6YVpiopzvTx"

As a result you will get a transaction ID: ce1444b48cdd83761afa79f3089d2d433a417ea3a6eb2cfc403dc0bf4e7f48c6. To uniquely identify an NFT you can use the combination of the protocol ID and the token ID. Or transaction hash.

As an architect of your application, you have to choose a strategy of generating NF token IDs. The restriction is pretty simple — it must be unique in the space of your protocol. It can be a hash of a document that uniquely identifies your tokens, it also can be a simple counter, unique seed, etc. In the example above I calculate SHA-256 hash of the DNA uniquely identifying a new CryptoKnight instance.

After the transaction is mature enough, the NFT is considered registered and can be used as an existing digital asset. The link to the metadata can look something like this:

{
  “name”: “Percival”,
  “description”: “A knight of the Round Table”,
  “image”: “https://percival-image.link”
}
Now you can query data from the blockchain to process and display it in your application. In order to get a single instance of an NFT you can simply use the get API:

nftoken get ckt 2772eeb3a5486f773ad7e47413424356da55db94c7f8e0528fcba5079ddeb8ed
As a result, you will have a JSON document that looks something like this:

{
“blockHash” : “000001b031c4832eb185b05475bb37a6d320b6a531a48cc1cdf9300760e84388”,
“registrationTxHash” : “ce1444b48cdd83761afa79f3089d2d433a417ea3a6eb2cfc403dc0bf4e7f48c6”,
“height” : 5197,
“timestamp” : 1561019190,
“nftProtocolId” : “ckt”,
“nftId” : “2772eeb3a5486f773ad7e47413424356da55db94c7f8e0528fcba5079ddeb8ed”,
“nftOwnerKeyId” : “CRWJKC453SVnczLQD6opqJVMuHDqNWwaJAgV”,
“metadataAdminKeyId” : “CRWD4W7PauajWooq8vmtzaxNzEEED5yL3FdZ”,
“metadata” : “https://ipfs.io/ipfs/QmPiYzMQbSPxsKC2b6CHEUHWfqFHjX9bHSu6YVpiopzvTx“
}
You can also request the information about the NFT instance using the transaction ID:

nftoken getbytxid ce1444b48cdd83761afa79f3089d2d433a417ea3a6eb2cfc403dc0bf4e7f48c6
Keep in mind that it means using different abstraction level, so it’s recommended to use the token ID to address NFTs. In this case, you interact on a level of your application business-logic.

To query multiple instances you will use the nftoken list API. This command is pretty flexible so you can request and process all existing NFTs, or only those belonging to a specific protocol or belonging to a specific owner or both. You also can set up the requesting blockchain height and amount of records. All of this will give you the flexibility to adapt requests to your needs. For example, to request all CryptoKnights tokens you will write:

nftoken list ckt
or to get all the instances belonging to the owner of the address CRWJKC453SVnczLQD6opqJVMuHDqNWwaJAgV your command will look like this:

nftoken list * CRWJKC453SVnczLQD6opqJVMuHDqNWwaJAgV
Other API documentation details are available using the help command of your node instance and will be available in the project wiki soon. You can also request additional information using the APIs:

nftoken totalsupply ckt
nftoken balanceof CRWJKC453SVnczLQD6opqJVMuHDqNWwaJAgV
nftoken ownerof ckt 2772eeb3a5486f773ad7e47413424356da55db94c7f8e0528fcba5079ddeb8ed
Code Example
This code example is a fragment of a simple application that receives a file as an input and registers an NFT with a unique hash of that file as a token ID, proving the existence and ownership of the underlying data.

int main()
{
    CURL * curl = curl_easy_init();
    curl_slist * headers = nullptr;
    Nft newNft;
if (curl != nullptr)
   {
        std::string getNewAddr(R"({"jsonrpc": "1.0", "id": "nftest", "method": "getnewaddress", "params": [] })");
        headers = curl_slist_append(headers, R"("content-type: text/plain;")");
        curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
        curl_easy_setopt(curl, CURLOPT_URL, "http://127.0.0.1:43001/");
        curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, getNewAddr.size());
        curl_easy_setopt(curl, CURLOPT_POSTFIELDS, getNewAddr.c_str());
        curl_easy_setopt(curl, CURLOPT_USERPWD, "crownrpc:bogus");
        curl_easy_setopt(curl, CURLOPT_USE_SSL, CURLUSESSL_TRY);
        // Gen owner address
        curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, GetNewAddressFunc);
        curl_easy_setopt(curl, CURLOPT_WRITEDATA, &newNft.OwnerAddress);
        curl_easy_perform(curl);
        // Gen admin address
        curl_easy_setopt(curl, CURLOPT_WRITEDATA, &newNft.AdminAddress);
        curl_easy_perform(curl);
        // Register new NFT
        rapidjson::Document nfTokenRegDoc;
        nfTokenRegDoc.SetObject();
        nfTokenRegDoc.AddMember("jsonrpc", "1.0", nfTokenRegDoc.GetAllocator());
        nfTokenRegDoc.AddMember("id", "nftest", nfTokenRegDoc.GetAllocator());
        nfTokenRegDoc.AddMember("method", "nftoken", nfTokenRegDoc.GetAllocator());
        rapidjson::Value params(rapidjson::kArrayType);
        params.PushBack(rapidjson::Value("register").Move(), nfTokenRegDoc.GetAllocator());
        params.PushBack(rapidjson::Value("doc").Move(), nfTokenRegDoc.GetAllocator());
        params.PushBack(rapidjson::Value(rapidjson::StringRef(newNft.TokenId.c_str())).Move(), nfTokenRegDoc.GetAllocator());
        params.PushBack(rapidjson::Value(rapidjson::StringRef(newNft.OwnerAddress.c_str())).Move(), nfTokenRegDoc.GetAllocator());
        params.PushBack(rapidjson::Value(rapidjson::StringRef(newNft.AdminAddress.c_str())).Move(), nfTokenRegDoc.GetAllocator());
params.PushBack(rapidjson::Value(rapidjson::StringRef(newNft.Metadata.c_str())).Move(), nfTokenRegDoc.GetAllocator());
        nfTokenRegDoc.AddMember("params", params, nfTokenRegDoc.GetAllocator());
        rapidjson::StringBuffer buffer;
        rapidjson::Writer<rapidjson::StringBuffer> writer(buffer);
        nfTokenRegDoc.Accept(writer);
        std::string nftRegJsonStr = buffer.GetString();
        curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, nftRegJsonStr.size());
        curl_easy_setopt(curl, CURLOPT_POSTFIELDS, nftRegJsonStr.c_str());
        curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, NfTokenRegFunc);
        curl_easy_setopt(curl, CURLOPT_WRITEDATA, &newNft);
        curl_easy_perform(curl);
    }
    return 0;
}
In the example above we generate two new Crown addresses and then make a call to register a new NFT within the “doc” protocol space. And that’s it. You now have a non-fungible token instance registered on the Crown blockchain. We use a local node here for registration on a sandbox blockchain. (Note: the information of how to set up and use Crown sandboxes will be available soon). It’s really up to you what language or library to use for the development. In the near future, I will update the Crown Bitcore library to support NFTs out of the box, so it’s easier for web developers to integrate Crown blockchain solution in their applications.

Thank you for your attention. Stay tuned for the upcoming 0.14 Emerald testnet release this week and more technical documentation on the wiki https://gitlab.crown.tech/crown/crown-core/wikis/home
-.xXx.-
Newbie
*
Offline Offline

Activity: 59
Merit: 0


View Profile
July 01, 2019, 10:39:54 AM
 #4978


hey that sounds great but what's the use of it as an add function?




It seems that in the next evolution of Crown implements a standard and extended intelligent contract interface. The implementation will encapsulate the logic of the solutions so that developers can create simple and complex applications on this network with low transaction costs....

To summarize it is currently on the Testnet and it "is written (decode)" that Crown CRW will become as well as better than Ethereum ETH in the near future, but directly in multi-language POS with the possibility of voting and other functions to stimulate technical and financial innovations and for creating an open-access, decentralized economy that uses blockchain technology to support new applications. The global payment, messaging and application CROWN platform will come to life and it is time for maturity.

It is time to take a stand Roll Eyes

 


Stabycroc
Member
**
Offline Offline

Activity: 497
Merit: 24


View Profile
July 01, 2019, 02:03:56 PM
 #4979


hey that sounds great but what's the use of it as an add function?




It seems that in the next evolution of Crown implements a standard and extended intelligent contract interface. The implementation will encapsulate the logic of the solutions so that developers can create simple and complex applications on this network with low transaction costs....

To summarize it is currently on the Testnet and it "is written (decode)" that Crown CRW will become as well as better than Ethereum ETH in the near future, but directly in multi-language POS with the possibility of voting and other functions to stimulate technical and financial innovations and for creating an open-access, decentralized economy that uses blockchain technology to support new applications. The global payment, messaging and application CROWN platform will come to life and it is time for maturity.

It is time to take a stand Roll Eyes

 




Its time 4u to learn basic crypto..... CRW isnt and has never been POS.... Its MN-POS at best.....
 Roll Eyes Roll Eyes Nubcakes that promo like they know there crypto but dont know the basics lol... Grin Grin
abit like customer/holder support wth CRW devs  Roll Eyes ::)u lost that went i left shadow dev'ing ( dear nubcake i can explin wat a shadow dev does if u dont know wat that means either, dw nether do the crw face devs )
Mountain_Crew
Newbie
*
Offline Offline

Activity: 30
Merit: 0


View Profile
July 01, 2019, 05:06:08 PM
 #4980


hey that sounds great but what's the use of it as an add function?




It seems that in the next evolution of Crown implements a standard and extended intelligent contract interface. The implementation will encapsulate the logic of the solutions so that developers can create simple and complex applications on this network with low transaction costs....

To summarize it is currently on the Testnet and it "is written (decode)" that Crown CRW will become as well as better than Ethereum ETH in the near future, but directly in multi-language POS with the possibility of voting and other functions to stimulate technical and financial innovations and for creating an open-access, decentralized economy that uses blockchain technology to support new applications. The global payment, messaging and application CROWN platform will come to life and it is time for maturity.

It is time to take a stand Roll Eyes

 





I thank you for this clarification Smiley
Pages: « 1 ... 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 [249] 250 251 252 253 254 255 256 257 258 259 260 261 »
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!