Comments (8)
It seems like choice A is most inline with our existing protocols, and as much as I would really like to start integrating with ipfs I'm not sure if something as core as asset metadata should be tied to a fully external and large system like ipfs
from stellar-protocol.
Yeah, because we can doesn't mean we should: changes at that layer will have to be supported forever and we not implement what is really needed anyways.
Also, this issue is not about arbitrary tags on arbitrary ledger entries but on assets and my point is that if we have to implement this outside of the core protocol (because of size limitations etc), we should test the water with that one implementation and see what people do with it.
from stellar-protocol.
I agree with A. I like the fact that an https certificate can tie the token to a legal entity.
from stellar-protocol.
Given that there is an Account.data
, would it make sense to have a corresponding Asset.data
as well? It seems like on-chain log-based k/v storage directly tied to Assets would be useful; you could insert an IPFS link if you chose to, or just the raw values.
Adding an IPFS/IPNS link would also work for a log, but it adds a nontrivial amount of complexity to actually hosting assets that require the above token data. (e.g. the "getting started" guide would have to include "set up an IPFS node").
While it's true that you could put this in the stellar.toml, there are a couple issues with that approach:
- it's mutable, so you can change the fine print without anyone being able to prove that it was changed
- stellar.toml would get quite unwieldy if there were large numbers of assets issued by an individual anchor. I don't want to have to fetch the whole blob of Asset00001...Asset99999 just to get the data for Asset12345.
This latter point also applies to just putting that data in the issuer's Account.data
.
from stellar-protocol.
Given that there is an Account.data, would it make sense to have a corresponding Asset.data as well? It seems like on-chain log-based k/v storage directly tied to Assets would be useful; you could insert an IPFS link if you chose to, or just the raw values.
I really like this idea @paultiplady. It seems pretty clear to me that the issuer would have their account reserve increased in proportion to the added data, the same as any other subentry. Thoughts @MonsieurNicolas ?
from stellar-protocol.
I don't think I see a problem with using the account data of the asset issuer to store additional information (there is still a need to define a standard of some sort for the schema of said data).
That said, I think the stellar.toml approach allows for a lot more flexibility: storing this data "on chain" seems more like an arbitrary decision that actually breaks if the data is more than a few bytes so we're back to storing hashes on the network anyways, so why support 2 ways when we can just support one?
Without actually knowing about the scenarios being considered for this it seems that the safest approach is to only store a few hashes with the issuer account that links to specific data/contracts off chain.
from stellar-protocol.
so why support 2 ways when we can just support one?
The flexibility in modelling your application on top of the stellar ledger would be much simpler to understand for consumers of the data. I'll ask as a counter: Why arbitrarily limit the stellar metadata system to accounts when implementing a polymorphic id for data fields would seem non-egregious given tagged union support in xdr? :)
The more I think about it -- I think we should probably add support for custom data attributes on trustlines as well. These meta data fields are simple and powerful ways to bind small pieces of data into the stellar ledger in interesting ways we won't foresee.
from stellar-protocol.
this was added to SEP-1: https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0001.md
from stellar-protocol.
Related Issues (20)
- SEP-9: add proof_of_liveness field HOT 1
- Transfer SEPs: add optional `refund_account` attribute to transaction initiation requests HOT 2
- SEPs (6, 12, 24, 31): Update callback header from `X-Stellar-Signature` to `Signature` HOT 4
- SEP-9: define a generalized account identifier format HOT 4
- SEP-9: add `bank_account_type` field HOT 2
- SEP-6: /deposit and /withdraw IDs should map to list of transactions rather than a single transaction HOT 22
- SEP-24: make `account` for deposit request optional to match withdraw request
- Add SEP for Soroban token interface HOT 1
- Nice
- SEP-7: thoughts on using "web+stellar://" instead of "web+stellar:"? HOT 1
- SEP-6: standardize structured off-chain deposit instructions for users HOT 1
- SEP-6: Providing deposit instructions asynchronously
- security HOT 1
- SEP-24: Layered fee structure HOT 1
- SEP-24: Configure fees by payment method HOT 1
- SEP-9: support `organization.referrer`
- Add deviation parameter instead of pure uniform periods HOT 8
- Support for `memo` field in SEP-9 Financial Account Fields
- Prettier SEP CI workflow failing suddenly HOT 1
- Blog
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from stellar-protocol.