Using substack's 'ack' branch of hypercore, you can set an 'ack' flag to 'true' when creating a hypercore replication feed, and you'll be able to tell, for any given hypercore log block you append to a hypercore feed, whether it has been received by a peer.
As a test, I ran "node testsend.js" below ... which generates a public key [KEY], and allows me to type messages into the terminal 'live'. In another directory, I ran "node testreceive.js [KEY]" in order receive those messages ...
Here's what it looked like on the 'send' side as I typed in new messages (I'm including a snippet after I'd already been testing a while) ...
2019-07-06T23:03:14.746Z> bubbles
2018-11-05T14:26:000Z> hello world
9
test another
2019-07-06T23:04:12.726Z> test another
10
hear hear!
2019-07-06T23:04:27.795Z> hear hear!
11
yay it's working!
2019-07-06T23:05:08.945Z> yay it's working!
12
You can see that the hyperlog replication feed block numbers ('9', '10', '11', '12') are being logged to the console as I send the messages, indicating that a peer has received those blocks as I append them.
COOL.
The code I used for 'testsend' and 'testreceive' are below.