9 votes
Accepted

What happens to a MAM (Masked Authenticated Message) Stream during a Snapshot?

In a MAM stream, every message holds a reference to the next one. To follow the stream when there is a snapshot you must always keep the ref to the next message. Currently, to read the beginning of ...
user avatar
  • 5,344
7 votes
Accepted

What's the point of using the Merkle Tree in MAM instead of just single private key?

To piggyback off of Chris, you can have forward secrecy even with a merkle tree of one leaf (which is the same as a simple one-time signature). However, there are a few things (some of which I ...
user avatar
  • 316
4 votes

How does MAM handle key exchange to initiate secure data messaging?

MAM doesn't dictate you how to distribute the key. You can use encrypted peer-to-peer connection, post service, carrier pigeons or the tangle itself. It's up to you.
user avatar
  • 498
3 votes
Accepted

Using Public Nodes in IOTA Tangle for testing purpose

You can change the URL in the provider field to a node that's on the Mainnet. You can use this URL as an example: https://nodes.thetangle.org/ Or, you can run your own node. Be sure to use a ...
user avatar
3 votes
Accepted

Is it secure to enter your seed in a browser form to publish data to IOTA Tangle?

It's irrelevant, you don't need a seed to publish a MAM message since you don't sign the transaction: Example: https://github.com/iota-community/javascript-iota-workshop/blob/master/code/7.1-mam-...
user avatar
  • 1,099
3 votes

Maximum how many possible characters to transfer in a message?

When you want to send data via MAM, you have to encode the data in a specific way. The encoded data will be inserted in the signature/message slot of your transaction (0-value txs don't need any ...
user avatar
3 votes
Accepted

How to send Health Data to Tangle via MAM?

I just tested your code and it worked for me. This is an example of the response: NVYRBTEAJAYAJMWIAHRMZNT9PQMIUWFTLQOB9RVAIWDLDOSZHPJCWEGNF9JTZLCTULRFCWFEAFAPUIMFM Published Object {numberofSteps: 14,...
user avatar
3 votes
Accepted

Can MAM use non-zero value transactions?

There is no value transfer within MAM. It's a messaging api https://github.com/iotaledger/MAM
user avatar
3 votes

MAM: Can stored data in restricted mode be revoked at any time?

When storing data on the Tangle using MAM, you actually issue 0 value transactions that encapsulate your data. As such, it is impossible to revoke the data once published. By throwing away the side ...
user avatar
3 votes

(WebJS) MAM Channels using Channel ID's

I used code downloaded from here. Basically: in public mode the publisher chooses a seed and keeps it secret. Then he starts to publish messages on a channel represented by the first Merkle tree ...
user avatar
3 votes

Will MAM not lead to network congestion?

Transaction size is limited. An intensive data stream will be splitted into many transactions. Each transaction requires a small pow and the idea is that even if it is small, the pow will discourage ...
user avatar
  • 5,344
2 votes

MAM: What is the purpose of the nonce in the masked_payload?

The purpose of the nonce is explained in: https://www.mobilefish.com/download/iota/masked_payload_part20.pdf
user avatar
2 votes

How to send a sidekey securely to the subscriber for my channel

You can use a Key-Sharing technique like a Group Diffie-Hellman key agreement or you can mask (encrypt) the sideKey and channel-id using the Public keys of the receivers. As i know, there's a public-...
user avatar
2 votes

Is Java MAM Coming?

Since iota.lib.java is a community effort (not written by the foundation), I assume a MAM library would have to be written by the community as well. – mihi♦
2 votes
Accepted

How to stream XDK 110 data via MAM

I just ran across this implementation https://antonionardella.it/mqtt-data-on-the-tangle-with-mam/
user avatar
2 votes

Append message to MAM channel

I do not hold a direct answer, I am sorry. What I would like to add is that MAM is going to be deprecated with the upcoming Chrysalis Part 2 upgrade, therefore I suggest you look into IOTA Streams, ...
user avatar
2 votes

Can MAM use non-zero value transactions?

MAM does not support value transfer All transactions (also the ones that send 1i) are deleted by a snapshot (on non-permanodes), only the final balances remain. Therefore if you need transactions to ...
user avatar
  • 7,254
1 vote
Accepted

Conflicting data types iota.c and streams

Your intent is correct, both libraries should be compatible, or at least coexist peacefully. You are also not mistaken in assuming that neither of the libraries can do everything: iota.c is a Node ...
user avatar
1 vote
Accepted

How to send a data payload of a size 1 MB or greater with MAM and node.js?

Splitting the data into fragments will work. Alternatively if you work with the IOTA streams library you should have more luck with big sizes. https://github.com/iotaledger/streams
user avatar
1 vote

Edit MAM stream already implemented on Tangle

Yes, you can add new messages to a MAM stream by reloading the “mam state” and then simply publishing again. here is an example using javascript https://github.com/Evanfeenstra/helix/blob/master/...
user avatar
1 vote

How is a MAM stream implemented on the Tangle?

Yes exactly, each leaf is a new transaction. However, since Mam transactions do not have any “value”, they do not actually need any validation. They are immediately available to fetch after they are ...
user avatar
1 vote
Accepted

Why is the async function not working while fetching MAM data?

Mam.fetch is not an async function, instead use the callback. You can make any “callback style” function into an async function by wrapping the call in a return new Promise((resolve,reject)=> .... ...
user avatar
1 vote
Accepted

How do I know MAM data has been published?

You just run Mam.fetch. You need to store the root somewhere, and the sideKey if you are using “restricted” mode.
user avatar
1 vote

How do I know MAM data has been published?

What library do you use? You can check, if the transaction is referenced by a milestone. This is the ultimate confirmation for your transaction. If the milestone directly or indirectly confirms your ...
user avatar
  • 840
1 vote

How to send a sidekey securely to the subscriber for my channel

Key exchange is a problem not just for IOTA MAM but a lot of cryptographic algorithms especially for symmetric-key encryption. How can I securely transmit the keys? To get the key from one actor to ...
user avatar
  • 4,459
1 vote

Problem uploading message to Tangle

Never used Pandas, you probably have to ask elsewhere to get an answer how to serialize your object There are two methods of generating addresses. There is one way to generate the next free address (...
user avatar
  • 7,254
1 vote

MAM: What is the purpose of the nonce in the masked_payload?

On the IOTA blog they state: an additional nonce may be used as a revocable encryption key If I understand it correctly (and I believe I saw this in a MAM POC somewhere), it can be used to ...
user avatar
1 vote

What's the incentive to use recommended tip selection algorithm for MAM transactions?

To be honest, I am not sure whether you can be that careless about whether your transactions confirm. There is no guarantee that unconfirmed transactions will (eventually) reach every node of the ...
user avatar
  • 7,254
1 vote
Accepted

MAM Issue:TypeError: Transaction.quietFromHash is not a function

As reported the use of mam.client.js is deprecated. Try with the source from http://iotameetup.nl and watch this @ 1:21:00 as already suggested by this answer.
user avatar
1 vote

Error running Iota MAM example

To try MAM I recommend using the instructions as per latest IOTA meetup in Amsterdam. You can download the source from http://iotameetup.nl/ and watch https://www.youtube.com/watch?v=_ZO2ysgzKkM @ 1:...
user avatar

Only top scored, non community-wiki answers of a minimum length are eligible