pub struct PodcastValue {
pub type_: String,
pub method: String,
pub suggested: Option<String>,
pub recipients: Vec<PodcastValueRecipient>,
pub time_splits: Vec<PodcastValueTimeSplit>,
}Expand description
Podcast 2.0 value element for monetization
Implements value-for-value payment model using cryptocurrency and streaming payments. Used for podcast monetization via Lightning Network, Hive, and other payment methods.
Namespace: https://podcastindex.org/namespace/1.0
§Examples
use feedparser_rs::{PodcastValue, PodcastValueRecipient};
let value = PodcastValue {
type_: "lightning".to_string(),
method: "keysend".to_string(),
suggested: Some("0.00000005000".to_string()),
recipients: vec![
PodcastValueRecipient {
name: Some("Host".to_string()),
type_: "node".to_string(),
address: "03ae9f91a0cb8ff43840e3c322c4c61f019d8c1c3cea15a25cfc425ac605e61a4a".to_string(),
split: 90,
fee: Some(false),
},
PodcastValueRecipient {
name: Some("Producer".to_string()),
type_: "node".to_string(),
address: "02d5c1bf8b940dc9cadca86d1b0a3c37fbe39cee4c7e839e33bef9174531d27f52".to_string(),
split: 10,
fee: Some(false),
},
],
time_splits: vec![],
};
assert_eq!(value.type_, "lightning");
assert_eq!(value.recipients.len(), 2);Fields§
§type_: StringPayment type (type attribute): “lightning”, “hive”, etc.
method: StringPayment method (method attribute): “keysend” for Lightning Network
suggested: Option<String>Suggested payment amount (suggested attribute)
Format depends on payment type. For Lightning, this is typically satoshis.
recipients: Vec<PodcastValueRecipient>List of payment recipients with split percentages
time_splits: Vec<PodcastValueTimeSplit>Time-bounded payment splits for pre-recorded remote content (podcast:valueTimeSplit)
A self-closing <podcast:valueTimeSplit/> carries no children worth
keeping and is silently dropped rather than producing an empty entry.
Trait Implementations§
Source§impl Clone for PodcastValue
impl Clone for PodcastValue
Source§fn clone(&self) -> PodcastValue
fn clone(&self) -> PodcastValue
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more